lzth.net
当前位置:首页 >> mAtlAB sym转数值 >>

mAtlAB sym转数值

可以直接使用double函数:例子如下:symn = sym([pi 1/3]); %生成一个符号矩阵 doublen = double(symn) %将符号矩阵转换为double数组

使用double函数就可以了,看下面的例子>> x=sym('5') x = 5 >> class(x)ans =sym>> double(x)ans = 5

这眼根据你的实际情况,给你几种解决建议.第一种:r = double(s) converts the symbolic object s to a numeric object r.例子如下:double(sym('(1+sqrt(5))/2')))1.61801.6180 第二种:r = vpa(a) 这适用于用solve等解方程时的结果.觉得有帮助,就采纳吧.

x = sym('2*sqrt(5) + pi') % sym型的数字s = num2str(double(x)) % 将sym型的数字转化为char型

sym 定义符号量的 sym 定义一个符号变量 syms 定义多个符号变量

x=str2double(x)

并不是你理解的那个地方有问题,是a(i)=cos(i*x)这个数据格式有错;x是sym形变量,不能被这样a(i)这样的矩阵储存,要用a{i}.还有记得先声明矩阵a=[].

sym是定义符号用的.如果定义变量x:方法一:sym(x)方法二:syms x;也可以定义表达式:syms a+b

你好!构造一个sym型变量x:>> x = sym('10') x =10 查看x的类型:>> class(x) ans =sym 转换为double型:>> y = double(x) y =10 查看y的类型:>> class(y) ans =double 仅代表个人观点,不喜勿喷,谢谢.

使用eval函数就行了!sym('2*3^5/(22222*11111)')ans =243/123454321>> eval(ans)ans = 1.9683e-006

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com