matlab中符号表达式怎么转化成double类型从而可以用plot画出等间隔的点的图像

clc;clear;
syms a b m n h x alpha
a=0.89;b=0.6;alpha=deg2rad(4.1);m=0.4;n=2.05;
hmin=double(n*tan(alpha));hmax=double(2*b-m*tan(alpha));
y=h-(x-m)*tan(alpha);
s=(a/b)*(pi*b^2*(1-1/pi*acos((y-b)/b))+(y-b)*(b^2-(y-b)^2)^(1/2));
v=int(s,x,0,m+n)
plot(v)
上面这个表达式v计算出来又是个piecewise的分段函数,如果我只想画出piecewise中第一段表达式的h在0到1.2之间并且间隔是0.01的所有点组合图应该怎么编程序(即v关于h的函数关系)。急求大神帮忙解答

第1个回答  推荐于2016-01-29
clc;clear;
syms a b m n h x alpha
a=0.89;b=0.6;alpha=deg2rad(4.1);m=0.4;n=2.05;
hmin=double(n*tan(alpha));
hmax=double(2*b-m*tan(alpha));
y=h-(x-m)*tan(alpha);
s=(a/b)*(pi*b^2*(1-1/pi*acos((y-b)/b))+(y-b)*(b^2-(y-b)^2)^(1/2));
v=int(s,x,0,m+n)
%%%把上述程序段中v的计算结果复制到下面程序段中问好?那个地方就可以了

k=0;
for h=0:0.01:1.2

k=k+1;

hh(k)=h;
vv(k)=?;
end
plot(hh,vv)本回答被提问者和网友采纳
相似回答