24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 2129  |  回复: 9

bingmeng1987

木虫 (正式写手)

[求助] Matlab求解方程‘pi*x=1’的结果为什么是1/pi?已有2人参与

源代码是syms x
solve('pi*x=1',0)
运行结果
ans =1/pi
pi在matlab里面默认为3.1416,为什么结果还包含pi呢?为什么最终结果不是ans=0.3183?
类似问题:如何在解方程或曲线拟合时将一个字母设定为一个常数,最终不出现这个字母,如pi。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

2楼2014-01-12 16:12:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bingmeng1987

木虫 (正式写手)

引用回帖:
2楼: Originally posted by feixiaolin at 2014-01-12 16:12:36
http://bbs.seu.edu.cn/pc/pccon.php?id=950&nid=15176

方程求解函数我懂,但是
syms x
a=2;
solve('a*x=1',0)
运算结果是x=1/a,
而不是x=0.5。
怎样是运算结果不含有a
3楼2014-01-12 20:52:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
3楼: Originally posted by bingmeng1987 at 2014-01-12 20:52:14
方程求解函数我懂,但是
syms x
a=2;
solve('a*x=1',0)
运算结果是x=1/a,
而不是x=0.5。
怎样是运算结果不含有a...

我的意思,换一种方法试一试。
4楼2014-01-12 21:01:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vect

至尊木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
bingmeng1987: 金币+1, ★★★★★最佳答案 2014-01-15 19:39:57
把命令改成pi*x=1.0试试。i

» 本帖已获得的红花(最新10朵)

5楼2014-01-12 21:15:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bingmeng1987

木虫 (正式写手)

送红花一朵
引用回帖:
5楼: Originally posted by vect at 2014-01-12 21:15:33
把命令改成pi*x=1.0试试。i

那如果
syms x
a=2;
solve('a*x=1.0',0)
运算结果是x=1/a,
而不是x=0.5。
这个程序怎么改呢?谢谢你!
6楼2014-01-12 21:55:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vect

至尊木虫 (著名写手)

引用回帖:
6楼: Originally posted by bingmeng1987 at 2014-01-12 21:55:20
那如果
syms x
a=2;
solve('a*x=1.0',0)
运算结果是x=1/a,
而不是x=0.5。
这个程序怎么改呢?谢谢你!...

我对matlab也不熟,但对maple比较熟,二者应该有共通性。这个问题我不清楚,我觉得你可以试试subs命令
7楼2014-01-12 22:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

laosam280

禁虫 (正式写手)


感谢参与,应助指数 +1
bingmeng1987: 金币+1, ★★★很有帮助, 谢谢 2014-01-15 19:39:18
本帖内容被屏蔽

8楼2014-01-13 04:44:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bingmeng1987

木虫 (正式写手)

引用回帖:
8楼: Originally posted by laosam280 at 2014-01-13 04:44:37
solve是按照符号计算模式进行的,你再一次用subs命令就得到了具体是数值了。
1/pi此时还仅仅是符号而已。

你好!我用fittype函数拟合时,它出来拟合结果明显不对,而且每次运行的结果都不一样,这是为什么呢?
例如拟合函数形式为 y=(0.0368-c)*exp(b*t)*cos(0.66372*t)+c,我的程序是
clear all
clc
syms t b c
t=[ 0    4.6   9.4   14  18.8  23.6   28.4   33  37.8   42.6   47.2  52]';
y=[ 0.0368    0.9208    0.0808    0.8838    0.1164    0.8494    0.1529  0.8192    0.1821    0.7986    0.2093    0.7640]';
    f=fittype('(0.0368-c)*exp(b*t)*cos(0.66372*t)+c','independent','t','coefficients',{'b','c'});  
cfun=fit(t,y,f)
我想模拟出系数b和c,结果每次运行的结果都不一样,其中结果会经常出现c=0.0368,这个结果肯定存在问题,请你指点!谢谢!
9楼2014-04-07 10:45:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

daiben06

金虫 (初入文坛)

符号运算.
gametheory~
10楼2014-04-07 10:59:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 bingmeng1987 的主题更新
信息提示
请填处理意见