24小时热门版块排行榜    

查看: 991  |  回复: 15

lzht1986

新虫 (小有名气)

[求助] 求助一个简单的方程,用MATLAB求解 已有2人参与

方程为图片中的方程式
R为常量
S为已知量,且S为一组数据
求不同S值时对应的X值
我用MATLAB编码总是提示我有问题,还请高人帮我看看,谢谢啦

求助一个简单的方程,用MATLAB求解
1R)HI@X$%IP{[Q4I%90`K7M.png
回复此楼

» 猜你喜欢

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

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

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
lzht1986: 金币+30, ★★★很有帮助, 谢谢了,但是提示还是不行啊 2016-04-20 14:13:26
CODE:
function jie_fangcheng
clear all;clc
format long
global s
s_data=[0.1 0.2 0.3 0.4];
for i=1:length(s_data)
    s=s_data(i);
    [x(i) fval(i)]=fsolve(@obj,0.1);
end
[s_data' x' fval']



function f=obj(x)
global s
R=1;
f=R^2*asin(x/R)-x*sqrt(R^2-x^2)-s;

R值自行设定。
上述代码以S=[0.1 0.2 0.3 0.4]为例。
计算结果:
              S                             x                        方程残差
   0.100000000000000   0.515718393818021   0.000000000076744
   0.200000000000000   0.637417584593469   0.000000003345383
   0.300000000000000   0.717211724786695   0.000000001460760
   0.400000000000000   0.776601502032687   0.000000376769810

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

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2016-04-19 16:28:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

霜小妹二

木虫 (正式写手)

哈哈

【答案】应助回帖

感谢参与,应助指数 +1
提示的问题是什么,你先说说吧!
没事儿就进行交流~
3楼2016-04-19 21:58:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

新建一个m文件,把2楼中代码完整复制进去,再运行。
2楼给出计算例子的结果,可见运行是没有任何问题的。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2016-04-20 14:15:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lzht1986

新虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by 月只蓝 at 2016-04-19 16:28:10
function jie_fangcheng
clear all;clc
format long
global s
s_data=;
for i=1:length(s_data)
    s=s_data(i);
    =fsolve(@obj,0.1);
end




function f=obj(x)
global s
R=1;
f=R^2*asin(x/ ...

>> function jie_fangcheng
clear all;clc
format long
global s
s_data=[0.1 0.2 0.3 0.4];
for i=1:length(s_data)
    s=s_data(i);
    [x(i) fval(i)]=fsolve(@obj,0.1);
end
[s_data' x' fval']



function f=obj(x)
global s
R=1;
f=R^2*asin(x/R)-x*sqrt(R^2-x^2)-s;
??? function jie_fangcheng
    |
Error: Function definitions are not permitted in this context.

还有一个问题,S是一组excel数据如何导入到代码了呀,拜托了大哥在帮帮我。
5楼2016-04-20 14:21:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
5楼: Originally posted by lzht1986 at 2016-04-20 14:21:10
>> function jie_fangcheng
clear all;clc
format long
global s
s_data=;
for i=1:length(s_data)
    s=s_data(i);
    =fsolve(@obj,0.1);
end




function f=obj(x)
global s
R=1;
f=R ...

参见4楼对代码用法的说明。不是在主程序窗口直接运行的。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
6楼2016-04-20 14:23:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
5楼: Originally posted by lzht1986 at 2016-04-20 14:21:10
>> function jie_fangcheng
clear all;clc
format long
global s
s_data=;
for i=1:length(s_data)
    s=s_data(i);
    =fsolve(@obj,0.1);
end




function f=obj(x)
global s
R=1;
f=R ...

S是一组excel数据如何导入到代码?
回复:代码中以S=[0.1 0.2 0.3 0.4]为例计算的,复制Excel中数据,替换掉中括号中的数据即可。

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

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
7楼2016-04-20 14:25:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lzht1986

新虫 (小有名气)

送红花一朵
引用回帖:
7楼: Originally posted by 月只蓝 at 2016-04-20 14:25:02
S是一组excel数据如何导入到代码?
回复:代码中以S=为例计算的,复制Excel中数据,替换掉中括号中的数据即可。...

大哥,谢谢你的指导。数据我带进去了代码可行,但是出来的数据有点问题,能否麻烦您再帮我看看,谢谢啦!!! 为什么中间有一多半的数据解出来是0.100000呢?
ans =

  Columns 1 through 2

   0.002089249000000   0.426273671148092
   0.002023068000000   0.421586277920751
   0.001958485000000   0.416936643600115
   0.001895472000000   0.412321550807388
   0.001834005000000   0.407738709198243
   0.001774058000000   0.403185466790845
   0.001715605000000   0.398659712931872
   0.001658623000000   0.399860809686266
   0.001603086000000   0.394284970129386
   0.001548969000000   0.388851696648649
   0.001496250000000   0.383558780473862
   0.001444904000000   0.378403711638895
   0.001394907000000   0.373384080576264
   0.001346237000000   0.368497678515775
   0.001298870000000   0.363742095889945
   0.001252784000000   0.100000000000000
   0.001207956000000   0.100000000000000
   0.001164364000000   0.100000000000000
   0.001121986000000   0.100000000000000
   0.001080801000000   0.100000000000000
   0.001040786000000   0.100000000000000
   0.001001921000000   0.100000000000000
   0.000964185000000   0.100000000000000
   0.000927557000000   0.100000000000000
   0.000892016000000   0.100000000000000
   0.000857544000000   0.100000000000000
......
   0.001196881000000   0.100000000000000
   0.001205124000000   0.100000000000000
   0.001213384000000   0.100000000000000
   0.001221659000000   0.100000000000000
   0.001229950000000   0.100000000000000
   0.001238253000000   0.100000000000000
   0.001246568000000   0.100000000000000
   0.001254893000000   0.100000000000000
   0.001263227000000   0.360163586980103
   0.001271567000000   0.361000911680832
   0.001279913000000   0.361838838773432
   0.001288263000000   0.362677167460613
   0.001296616000000   0.363515797343729
   0.001304969000000   0.364354427226845
   0.001313322000000   0.365193057109961
   0.001321672000000   0.366031385797142
   0.001330019000000   0.366869413288387
   0.001338360000000   0.367706838387761
   0.001346694000000   0.368543560696619
   0.001355020000000   0.369379479816315
   0.001363335000000   0.370214294550915
   0.001371639000000   0.371048004900418
   0.001379929000000   0.371880309668888
   0.001388204000000   0.372711108457681
   0.001396463000000   0.373540300868151
   0.001404703000000   0.374367585704362
   0.001412924000000   0.375192962966316
   0.001421122000000   0.376016031059430
   0.001429298000000   0.376836890382351
8楼2016-04-20 15:32:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
8楼: Originally posted by lzht1986 at 2016-04-20 15:32:54
大哥,谢谢你的指导。数据我带进去了代码可行,但是出来的数据有点问题,能否麻烦您再帮我看看,谢谢啦!!! 为什么中间有一多半的数据解出来是0.100000呢?
ans =

  Columns 1 through 2

   0.0020892490 ...

因为初值设置就是0.1,有些方程用0.1的初值没有得到解,把初值修改成其他数值。

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

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
9楼2016-04-20 15:35:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lzht1986

新虫 (小有名气)

送红花一朵
引用回帖:
9楼: Originally posted by 月只蓝 at 2016-04-20 15:35:57
因为初值设置就是0.1,有些方程用0.1的初值没有得到解,把初值修改成其他数值。...

哦好的,谢谢啦,
10楼2016-04-20 15:36:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lzht1986 的主题更新
信息提示
请填处理意见