24小时热门版块排行榜    

查看: 3505  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 307求调剂 +3 wyyyqx 2026-03-17 3/150 2026-03-21 03:20 by JourneyLucky
[考研] 328求调剂,英语六级551,有科研经历 +4 生物工程调剂 2026-03-17 8/400 2026-03-21 02:12 by JourneyLucky
[考研] 271材料工程求调剂 +8 .6lL 2026-03-18 8/400 2026-03-21 00:58 by JourneyLucky
[考研] 354求调剂 +5 Tyoumou 2026-03-18 8/400 2026-03-21 00:35 by JourneyLucky
[考研] 材料专业求调剂 +6 hanamiko 2026-03-18 6/300 2026-03-21 00:24 by JourneyLucky
[考研] 330求调剂 +4 小材化本科 2026-03-18 4/200 2026-03-20 23:13 by JourneyLucky
[考研] A区线材料学调剂 +5 周周无极 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[考研] 材料学硕297已过四六级求调剂推荐 +11 adaie 2026-03-19 11/550 2026-03-20 21:30 by laoshidan
[考研] 工科材料085601 279求调剂 +7 困于星晨 2026-03-17 9/450 2026-03-20 17:38 by 无懈可击111
[基金申请] 学校已经提交到NSFC,还能修改吗? 40+4 babangida 2026-03-19 8/400 2026-03-20 15:58 by babero
[考研] 0856调剂,是学校就去 +8 sllhht 2026-03-19 9/450 2026-03-20 14:25 by 无懈可击111
[考研] 286分人工智能专业请求调剂愿意跨考! +3 lemonzzn 2026-03-17 4/200 2026-03-20 11:04 by lemonzzn
[考研] 344求调剂 +6 knight344 2026-03-16 7/350 2026-03-18 20:13 by walc
[考研] 304求调剂 +12 小熊joy 2026-03-14 13/650 2026-03-18 12:34 by Linda Hu
[考博] 26博士申请 +3 1042136743 2026-03-17 3/150 2026-03-17 23:30 by 轻松不少随
[考研] 考研化学学硕调剂,一志愿985 +4 张vvvv 2026-03-15 6/300 2026-03-17 17:15 by ruiyingmiao
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
[考研] 080500,材料学硕302分求调剂学校 +4 初识可乐 2026-03-14 5/250 2026-03-14 21:08 by peike
[考研] 289求调剂 +4 这么名字咋样 2026-03-14 6/300 2026-03-14 18:58 by userper
信息提示
请填处理意见