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的函数关系)。急求大神帮忙解答

matlab中符号表达式如果含有字母符号,就不能转化为double类型,所以,可先计算出数值符号值,再转化。可这样改:
clc;clear;
%syms a b m n h x alpha
syms x
a=0.89;b=0.6;alpha=deg2rad(4.1);m=0.4;n=2.05;
h=15;%可改为别值
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=double(v);
plot(v,'*r')
温馨提示:内容为网友见解,仅供参考
无其他回答

matlab中符号表达式怎么转化成double类型从而可以用plot画出等间隔的...
matlab中符号表达式如果含有字母符号,就不能转化为double类型,所以,可先计算出数值符号值,再转化。可这样改:clc;clear;syms a b m n h x alpha syms x a=0.89;b=0.6;alpha=deg2rad(4.1);m=0.4;n=2.05;h=15;%可改为别值 hmin=double(n*tan(alpha));hmax=double(2*b-m*ta...

图中的题目,用matlab画图怎么将符号运算怎么转化为数值运算给变量赋值...
将符号运算怎么转化为数值运算,可以用eval()函数。>> syms t x >> y=int(sin(t)\/t,0,x);>> x=0:pi\/100:2*pi;>> plot(x,eval(y))运行结果

matlab怎么将求解方程组得到的表达式,转换成函数;用plot绘图
plot(t,subs(Dy_E))最后画出来的图有两条线,分别是两个y_E表达式对t的导数。

MATLAB的plot函数出现Conversion to double from sym is not possible...
出现了Conversion to double from sym is not possible问题,是因为Y这个矩阵是一个符号矩阵,里面有t这个符号变量,所以无法画图。如果你希望t=0:0.1:2,那Y=subs(Y,t,s)把t换成数值,才能画图。另外有一个问题,B=expm(A)这一句会使得矩阵B中有的元素是复数,导致把Y换成数值后是出现复数,...

matlab里面Conversion to double from sym is not possible.怎么回事啊...
1、出错的原因是,使用dsolve求解微分方程,得到的是解析解,具体形式为一个符号表达式,不能直接用plot画图。2、按你现在的写法,没有指定初始条件,得到的结果里面有C1、C2这样的常数,是无法绘图的。应按照类似下面的方式指定初值:y=dsolve('D2y+y=sin(t) * cos(30)','y(0)=1,Dy(0)=2'...

matlab中如何把符号多项式转换为数值多项式
记该函数为f,用eval语句 完整代码如下 syms xx;f=-(390625*xx*(xx - 1)*(xx + 1)*(xx - 1\/5)*(xx + 1\/5)*(xx - 2\/5)*(xx + 2\/5)*(xx - 3\/5)*(xx + 3\/5)*(xx - 4\/5)*(xx + 4\/5))\/1768;xx=-10:0.1:10;plot(xx,eval(f));

matlab画图显示: 错误使用 plot 无法从 sym 转换为 double
z被你定义成符号变量,plot不能用的吧,给z赋值

在MATLAB解方程中,带参数的解求出来后,怎么画出因变量与自变量在一定...
,b,b1),c,c1);y1(i)=subs(subs(subs(y,a,a1),b,b1),c,c1);z1(i)=subs(subs(subs(z,a,a1),b,b1),c,c1);end x=double(x1);y=double(y1);z=double(z1);plot3(x,y,z,'r.')xlabel('x');ylabel('y');zlabel('z');grid on;---运行结果:

matlab出错:Error using ==> plotConversion to double from sym i...
plot函数只能“连点”,只能给定确定的数值点坐标,你的 x 是个符号变量,plot不能识别。可以通过 x0 = subs(x); 等形式对 x 的各变量进行赋值(替换),获得数值形式的x0,然后plot(x0,t)。或者某些条件下可以用 ezplot(x,t)直接对符号变量绘图 ...

如何用matlab的plot命令画出y=sin(1\/x)的图形
可以不用管。x=0:0.1:10;y=sin(x);plot(x,y)例如:根据已知函数可知,在x=0处有间断点,所以绘制该函数图形,应避开该间断点。图形实现代码如下:x=-10.01:-0.01;y=x.*sin(1.\/x);plot(x,y),hold on x=0.01:10.01;y=x.*sin(1.\/x);plot(x,y)运行结果 ...

相似回答