Efficiently Set a Sequence in Matlab: Quick Question Answered

  • Context: MATLAB 
  • Thread starter Thread starter lewdtenant
  • Start date Start date
  • Tags Tags
    Matlab
Click For Summary
SUMMARY

The discussion focuses on efficiently setting a sequence in MATLAB using the `linspace` function and customizing axis tick marks in plots. The user initially attempts to create a sequence from 0 to 64 with 9 increments using brute force but learns that `a = linspace(0, 64, 9)` is a more efficient method. Additionally, the conversation highlights how to adjust tick marks on a plot's axes using the `set(gca, 'XTick', ...)` command to achieve finer control over the displayed values, allowing for a more detailed representation of data.

PREREQUISITES
  • Basic understanding of MATLAB syntax and functions
  • Familiarity with the `linspace` function in MATLAB
  • Knowledge of plotting functions in MATLAB
  • Understanding of axis properties and tick mark customization in MATLAB
NEXT STEPS
  • Research the `linspace` function in MATLAB for generating evenly spaced vectors
  • Explore MATLAB's plotting capabilities, focusing on customizing axes and tick marks
  • Learn about the `gca` function in MATLAB for accessing current axes properties
  • Investigate advanced plotting techniques in MATLAB, such as using `subplot` and `hold on`
USEFUL FOR

MATLAB users, data analysts, and engineers looking to enhance their plotting skills and improve data visualization techniques in MATLAB.

lewdtenant
Messages
63
Reaction score
1
Matlab --> quick question

Homework Statement



suppose I want to set a = [0:64] with an output of 9 increments. For the life of me I cannot remember how to do this other than doing it brute force style.


Homework Equations





The Attempt at a Solution



since 64/9=7.11 then, a =[0:7.11:64] gives me 9 increments but I know there's a better way to do this. please help, thanks.
 
Physics news on Phys.org
help linspace
 
yes, thanks
 
is there a way that i can plot more points in the x-axis and the y-axis? instead of going by 5 -10 -15- 20 and go 5 - 6 - 7 - 8 - 9...20 .
 
well, I'm no MATLAB expert, but here goes.

When you specify x and y, making x= [5:1:20] will give you 5, 6, 7, 8... 20. you can do this for y also. then when you plot (x, y) it should give you what you need.

i hope that helps, let me know if i misunderstood your question.
 
if i plot x= [5:1:20] and y= [5:1:20], the axes spacing goes 5,10,15,20, but i would like to make it go 1 by 1. thus showing more points in the plot.

not sure if that is possible, but that´s why I am asking i guess.

thanks for your help btw
 
tko_gx said:
if i plot x= [5:1:20] and y= [5:1:20], the axes spacing goes 5,10,15,20, but i would like to make it go 1 by 1. thus showing more points in the plot.

not sure if that is possible, but that´s why I am asking i guess.

thanks for your help btw

I think you're just referring to the tick marks on the axis. The distribution of tick marks is not related to the number of points plotted on the graph. You can change the tick mark distribution either going to 'axis properties' in the 'edit' menu of the plot, or you can define them from the command line. For example,
Code:
x = -pi:.1:pi;
y = sin(x);
plot(x,y)
set(gca,'XTick',-pi:pi/2:pi)
set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
defines the tick placement and the labels.
 
thank you very much. that's exactly what i meant to say.
 

Similar threads

Replies
6
Views
4K
  • · Replies 3 ·
Replies
3
Views
5K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
623
Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K