A constant function on MATLAB

110 Views Asked by At
clear
clc

eta = 100;
a= 0;
xi=0.016;
axis([0 0.01 0 1.1]);
x = 0:0.0001:0.01;
N = -a+1.6*(1/(xi*eta));
y=N;
plot(x,y,'LineWidth',2);
set(gca,'FontSize',10);

Hi. I'd like to plot the function $N(x)$ (indeed, constant), on MATLAB, but the code above does not return any line on window. Why? Many thanks!

3

There are 3 best solutions below

1
On BEST ANSWER

If you wanted to create an array of ones then you could do

y=ones(size(x));

or write

clear;
clc;

eta = 100;
a= 0;
xi=0.016;
axis([0 0.01 0 1.1]);
x = 0:0.0001:0.01;
temp = ones(size(x));
N = temp.*(-a+1.6*(1/(xi*eta)));
y=N;
plot(x,y,'LineWidth',2);
set(gca,'FontSize',10);

Though, it is extremely unclear why you are writing

N = -a+1.6*(1/(xi*eta));

when you could just write

N = 1;

or just make an array of ones and write

clear;
clc;

eta = 100;
a= 0;
xi=0.016;
axis([0 0.01 0 1.1]);
x = 0:0.0001:0.01;
y = ones(size(x));
plot(x,y,'LineWidth',2);
set(gca,'FontSize',10);
3
On

Y and X should be the same size: y = N*size(x)

1
On

I like to write it

y=N+0*x;

Matlab automatically creates the array with the correct length. And, since you are multiplying it by 0, you create essencially a constant vector.