24小时热门版块排行榜    

查看: 3503  |  回复: 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的回帖

会飞的泡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的回帖
查看全部 3 个回答

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 317一志愿华南理工电气工程求调剂 +3 Soliloquy_Q 2026-02-28 3/150 2026-02-28 21:43 by xyx2012xyx
[考研] 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
[考研] 264求调剂 +3 巴拉巴拉根556 2026-02-28 3/150 2026-02-28 21:31 by gaoxiaoniuma
[考研] 311求调剂 +8 南迦720 2026-02-28 8/400 2026-02-28 21:30 by gaoxiaoniuma
[考研] 材料类求调剂 +6 wana_kiko 2026-02-28 6/300 2026-02-28 21:20 by gaoxiaoniuma
[考研] 284求调剂 +4 天下熯 2026-02-28 4/200 2026-02-28 21:13 by gaoxiaoniuma
[考研] 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
[基金申请] 面上模板改不了页边距吧? +5 ieewxg 2026-02-25 5/250 2026-02-28 20:11 by iwuli
[考博] 博士推荐 +5 花儿笑? 2026-02-21 6/300 2026-02-28 18:53 by nxgogo
[教师之家] 版面费该交吗 +15 苹果在哪里 2026-02-22 18/900 2026-02-28 18:20 by mibaomingg
[考研] 285求调剂 +5 满头大汗的学生 2026-02-28 5/250 2026-02-28 18:10 by 材料专硕调剂;
[考研] 材料调剂 +3 爱擦汗的可乐冰 2026-02-28 3/150 2026-02-28 18:06 by houyaoxu
[考博] 博士自荐 +3 kkluvs 2026-02-28 3/150 2026-02-28 16:59 by StarAura
[考研] 265分求调剂不调专业和学校有行学上就 +4 礼堂丁真258 2026-02-28 6/300 2026-02-28 16:18 by 求调剂zz
[考研] 304求调剂 +5 曼殊2266 2026-02-28 6/300 2026-02-28 12:44 by 迷糊CCPs
[考研] 298求调剂 +4 axyz3 2026-02-28 4/200 2026-02-28 11:21 by wang_dand
[基金申请] 什么是人一生最重要的? +10 瞬息宇宙 2026-02-21 10/500 2026-02-27 08:46 by tfang
[硕博家园] 【博士招生】太原理工大学2026化工博士 +4 N1ce_try 2026-02-24 8/400 2026-02-26 08:40 by N1ce_try
信息提示
请填处理意见