24小时热门版块排行榜    

查看: 3504  |  回复: 2

会飞的泡123

铜虫 (小有名气)

[求助] matlab解一元一次方程的问题 已有1人参与

matlab解一元一次方程的时候,用到fzero这个命令,但是一元一次方程中我有一个矩阵,matlab总是提示错误,但是当我把矩阵中的每一个值依次手动带入进去算就会出结果。。。这怎么解决呢。。。如果矩阵就几个值还可以手动挨个带入算,这要是几百个我会累死哒。。。。。

比方已知矩阵c=[0.1        0.2        0.3        0.4        0.5        0.6        0.7        0.8        0.9        1        2        3        4        5        6        7        8        9        10        20        30        40        50        60        70        80        90        100];
用fzero解下面这个方程,零点大概位置都在1000附近,

Q=fzero('x./(sqrt(x.^2+c(1,1))).*besselj(-1,x*1.75*10^-3).*besseli(0,1.75*10^-3.*sqrt(c(1,1)+x.^2))-besselj(0,x*1.75*10^-3).*besseli(-1,sqrt(c(1,1)+x.^2)*1.75*10^-3)',1000);
这样解matlab就报错。。。:
??? Error using ==> fzero at 307
FZERO cannot continue because user supplied expression ==>
x./(sqrt(x.^2+c(1,1))).*besselj(-1,x*1.75*10^-3).*besseli(0,1.75*10^-3.*sqrt(c(1,1)+x.^2))-besselj(0,x*1.75*10^-3).*besseli(-1,sqrt(c(1,1)+x.^2)*1.75*10^-3)
failed with the error below.

Error in inline expression ==>
x./(sqrt(x.^2+c(1,1))).*besselj(-1,x*1.75*10^-3).*besseli(0,1.75*10^-3.*sqrt(c(1,1)+x.^2))-besselj(0,x*1.75*10^-3).*besseli(-1,sqrt(c(1,1)+x.^2)*1.75*10^-3)
Undefined function or method 'c' for input arguments of type 'double'.


如果我把c(1,1)带入就没问题,就出结果了:
Q=fzero('x./(sqrt(x.^2+0.1)).*besselj(-1,x*1.75*10^-3).*besseli(0,1.75*10^-3.*sqrt(0.1+x.^2))-besselj(0,x*1.75*10^-3).*besseli(-1,sqrt(0.1+x.^2)*1.75*10^-3)',1000)
这样就木有问题。。



我想问下怎样才能不挨个代数进去。。。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

whyjackeyson

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
会飞的泡123: 金币+20, ★★★★★最佳答案 2015-11-09 21:20:09
fzero函数使用错误,对于存在符号变量的求解使用fzero可以采用句柄方式代入,或者外部定义函数。
求解可使用循环语句。
c = [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 2 3 4 5 6 7 8 9 10 20 30 40 50 60 70 80 90 100];
for i = 1:28
    Q(i) = fzero(@(x)x./(sqrt(x.^2+c(i))).*besselj(-1,x*1.75*10^-3).*besseli(0,1.75*10^-3.*sqrt(c(i)+x.^2))-besselj(0,x*1.75*10^-3).*besseli(-1,sqrt(c(i)+x.^2)*1.75*10^-3),1000);
end
2楼2015-11-09 18:31:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

会飞的泡123

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by whyjackeyson at 2015-11-09 18:31:07
fzero函数使用错误,对于存在符号变量的求解使用fzero可以采用句柄方式代入,或者外部定义函数。
求解可使用循环语句。
c = ;
for i = 1:28
    Q(i) = fzero(@(x)x./(sqrt(x.^2+c(i))).*besselj(-1,x*1.75*10^ ...

thank you ~~~
3楼2015-11-09 21:19:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 会飞的泡123 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料调剂 +4 爱擦汗的可乐冰 2026-02-28 4/200 2026-03-01 00:38 by 猫猫球alter
[考研] 307求调剂 +4 73372112 2026-02-28 6/300 2026-03-01 00:04 by ll247
[考研] 317一志愿华南理工电气工程求调剂 +5 Soliloquy_Q 2026-02-28 8/400 2026-02-28 23:36 by xyx2012xyx
[考研] 272求调剂 +3 材紫有化 2026-02-28 3/150 2026-02-28 22:52 by ms629
[考研] 292求调剂 +3 yhk_819 2026-02-28 3/150 2026-02-28 21:57 by gaoxiaoniuma
[考研] 290求调剂 +5 材料专硕调剂; 2026-02-28 6/300 2026-02-28 21:40 by gaoxiaoniuma
[考研] 295求调剂 +5 19171856320 2026-02-28 5/250 2026-02-28 21:39 by gaoxiaoniuma
[考博] 26申博 +4 想申博! 2026-02-26 4/200 2026-02-28 21:37 by limorning
[考研] 材料学调剂 +5 提神豆沙包 2026-02-28 5/250 2026-02-28 21:34 by gaoxiaoniuma
[考研] 材料类求调剂 +6 wana_kiko 2026-02-28 6/300 2026-02-28 21:20 by gaoxiaoniuma
[考研] 高分子化学与物理调剂 +4 好好好1233 2026-02-28 7/350 2026-02-28 20:42 by 好好好1233
[考研] 085600材料工程一志愿中科大总分312求调剂 +8 吃宵夜1 2026-02-28 10/500 2026-02-28 20:27 by L135790
[考研] 298求调剂 +8 人间唯你是清欢 2026-02-28 11/550 2026-02-28 20:26 by L135790
[考研] 0856材料求调剂 +10 hyf hyf hyf 2026-02-28 11/550 2026-02-28 18:50 by 无际的草原
[高分子] 求环氧树脂研发1名 +3 孙xc 2026-02-25 11/550 2026-02-28 16:57 by ichall
[考研] 寻找调剂 +3 LYidhsjabdj 2026-02-28 3/150 2026-02-28 12:59 by miniwendy
[考研] 304求调剂 +5 曼殊2266 2026-02-28 6/300 2026-02-28 12:44 by 迷糊CCPs
[硕博家园] 博士自荐 +6 科研狗111 2026-02-26 9/450 2026-02-28 12:32 by seaskyy
[基金申请] 面上可以超过30页吧? +12 阿拉贡aragon 2026-02-22 13/650 2026-02-26 22:09 by Hahaxia
[硕博家园] 【博士招生】太原理工大学2026化工博士 +4 N1ce_try 2026-02-24 8/400 2026-02-26 08:40 by N1ce_try
信息提示
请填处理意见