matlab中sym符号变量不是一个固定的数,怎么转变为double类型?

程序示例: for i=1:1:17
j=i^2;
sym sum;
sum=sum+j;
end
如何将sum变为double类型?

你的这种写法是不是有问题?比如 sym 可能应该是syms、j 这个变量是不必要的、syms 函数放在循环里似乎不大好(虽然对结果应该没什么影响)。
至于转变,赋值语句(sum=3之类)具有最高的权限,会无视该变量原来是什么。
另外,对符号变量及符号函数而言,subs——替换——比较常用,比如 y=x+1,z=subs(y,x,3)得到的结果是把 x 替换成 3 并计算,即 z = 4
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-04-20
构造一个sym型变量x:
>> x = sym('10')
x =10
查看x的类型:
>> class(x)
ans =sym
转换为double型:
>> y = double(x)
y =10
查看y的类型:
>> class(y)
ans =double

matlab中sym符号变量不是一个固定的数,怎么转变为double类型?
你的这种写法是不是有问题?比如 sym 可能应该是syms、j 这个变量是不必要的、syms 函数放在循环里似乎不大好(虽然对结果应该没什么影响)。至于转变,赋值语句(sum=3之类)具有最高的权限,会无视该变量原来是什么。另外,对符号变量及符号函数而言,subs——替换——比较常用,比如 y=x+1,z=su...

matlab中sym数据类型如何变为double?
sym x x1=double(x)

用Matlab优化工具箱时,如何将sym型转换成double?
但是我用符号积分得到一样的目标函数y=x(1)^4 - 8*x(2) - 4*x(1) + 15就运行不了 ,FMINCON requires all values returned by user functions to be of data type double.符号积分得到目标函数y程序:syms s x1 x2 ft=int(x1^4-4*x1-8*x2+15,s,0,1);fx=ft; n=2;%定义变量个数for i ...

matlab中怎样把sym型变量变为double型变量
sym 转换为double型:>> y = double(x)y = 10 查看y的类型:>> class(y)ans = double

如何将matlab中的sym数据类型转换为double型
使用double函数 比如 >> root=solve('x^2+5*x-10')root = -5\/2+1\/2*65^(1\/2)-5\/2-1\/2*65^(1\/2)>> class(root)ans = sym >> root=double(root)root = 1.5311 -6.5311 >> class(root)ans = double by dynamic see also http:\/\/www.matlabsky.com contact me matlab...

matlab求救!无法将sym类型转换为double类型
知道了。改成这样就可以了。yht=dsolve('D2y+3*Dy+2*y=0','y(0)=1,Dy(0)=1')yt=dsolve('D2y+3*Dy+2*y=2','y(0)=0,Dy(0)=1')=== yzi=dsolve('D2y+3*Dy+2*y=0','y(0)=1,Dy(0)=1')yzs=dsolve('D2y+3*Dy+2*y=2','y(0)=0,Dy(0)=1')y=yzi+yzs y...

Matlab在Gui中方程系数输入调用以及sym转换double问题
出错原因:你在调用solve解方程组的时候,输入参数是字符串:[x,y]=solve(...,'x,y');这种情况下,handles.metricdata.q和handles.metricdata.Fb都是以字符串的形式传递给符号运算内核,而这两个变量的值根本没起到作用。这样,方程组求解失败,后面再调用double试图将结果转换成数值类型当然会出错。

matlab sym转double
用double函数将符号型变量变为数值型变量,要求符号变量的值是可以转换的,而你举的例子中x并未赋值,怎么可能转换?用vpa函数没问题,但结果应该仍然是x。

matlab求积分结果是个符号不是一个具体值?代码如下
按你的程序积分结果是个sym,可在最后加上:a=double(I)就转化为数值了。

matlab中怎么将符号计算的结果以double型输出??
B=sym('32.58');C=floor((B-floor(B))*100)Cd=double(C)

相似回答