Why vector don't equal when differentiating sin(pi*x)
1 view (last 30 days)
Show older comments
I don't understand why i keep getting : Error using plot vector must be the same length.
As the data shows s1= 1X100and s2=1X99 which i don't understand why it has that data.
clc;
sym('x');
s= sin(pi*x);
x= linspace(0,4);
subplot(2,1,1);
plot(x,s);
axis([0 4 -4 4]);
subplot(2,1,2);
s1= diff(s);
plot(x,s1)%Error at this line
0 Comments
Accepted Answer
madhan ravi
on 16 Nov 2018
Edited: madhan ravi
on 16 Nov 2018
x= linspace(0,4);
s= sin(pi*x);
subplot(2,1,1);
plot(x,s);
axis([0 4 -4 4]);
subplot(2,1,2);
syms x
s1= diff(sin(pi*x),x);
x= linspace(0,4);
plot(x,subs(s1,x))
More Answers (2)
KSSV
on 16 Nov 2018
Edited: KSSV
on 16 Nov 2018
YOu have to substitue the value of x in the sym objects s and s1 using subs. After that it will be converted to double and then you can plot them.
syms x;
s= sin(pi*x);
x= linspace(0,4);
subplot(2,1,1);
sr = subs(s,x) ;
plot(x,sr);
axis([0 4 -4 4]);
subplot(2,1,2);
s1= diff(s);
s1r = subs(s1,x) ;
plot(x,s1r)%Error at this line
0 Comments
KSSV
on 16 Nov 2018
YOu need not to use sums actually. Using syms is useless in your case.
x= linspace(0,4);
s= sin(pi*x);
subplot(2,1,1);
plot(x,s);
axis([0 4 -4 4]);
subplot(2,1,2);
s1= gradient(s);
plot(x,s1)%Error at this line
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!