| 4 | 1/1 | 返回列表 |
| 查看: 2388 | 回復(fù): 3 | ||
PZ_NaiBa木蟲 (小有名氣)
|
[求助]
Matlab函數(shù)調(diào)用,跳出循環(huán)問(wèn)題 已有1人參與
|
|
我有三個(gè)程序,1.m,2.m,fun(); 程序1調(diào)用程序2和函數(shù)fun; 程序1在一個(gè)for循環(huán)中調(diào)用程序2: 程序2的目的是找到兩個(gè)數(shù)值,當(dāng)f(a)和f(b)異號(hào)時(shí),找到a和b: 但是如果f(x)一直都是正的或者負(fù)的,就陷入了死循環(huán);我設(shè)定了一個(gè)范圍,想讓它跳出程序2,并且停止程序1的當(dāng)前循環(huán),進(jìn)入下一個(gè)循環(huán); 我寫的程序的問(wèn)題是,調(diào)用的子程序不能用break,提示用return; 但是我用了return也有問(wèn)題,return回來(lái)的數(shù)值,在程序1中進(jìn)行計(jì)算會(huì)出錯(cuò)。。。 這是我寫的程序2(也是一個(gè)函數(shù)): %%%%%%%%% 請(qǐng)大家批評(píng)指正~~~ - - - - - - - - - %%%%%%%%%%%% function [a,b] = findab(a0,b0) %FINDAB Summary of this function goes here % Detailed explanation goes here a=a0;b=b0;n=b0/1e4; if n<1e5; ya=fun(a);yb=fun(b); while ya*yb>0; n=n+1; a=(n-1)*1e4;b=n*1e4; ya=fun(a);yb=fun(b); end a; b; else break end |
銅蟲 (初入文壇)
銅蟲 (初入文壇)
榮譽(yù)版主 (知名作家)
小木蟲浪子
|
在程序2中設(shè)置一個(gè)范圍,若在這范圍內(nèi)沒(méi)有找到目標(biāo)值,就認(rèn)為設(shè)置a和b的值,這個(gè)值在你的程序中是不可能出現(xiàn)的,比如a和b都等于0,從而程序2會(huì)返回這個(gè)a和b;在程序1中得到了a和b,若都為0,則說(shuō)明沒(méi)有找到所期待的值,采用break或者其它的方式跳出循環(huán); 你所給出的程序2的代碼有點(diǎn)問(wèn)題,我覺(jué)得這樣修改比較好: 這樣,若沒(méi)有找到a和b,則都返回NaN,在程序1中就可以根據(jù)這個(gè)來(lái)判斷有沒(méi)有找到a和b了。 注:這里只是用n來(lái)判斷在n<1e5的循環(huán)范圍內(nèi)是否找到a和b,這個(gè)就是我所設(shè)定的范圍,可能用n不很合適,好像你的a和b的值都是根據(jù)n算的;這個(gè)沒(méi)有關(guān)系,你可以用其它的來(lái)代,比如把if那一行和n=n+1中的n改成m也可以作為范圍來(lái)設(shè)定。 |

| 4 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 0856調(diào)劑,是學(xué)校就去 +6 | sllhht 2026-03-19 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 321求調(diào)劑 +8 | 何潤(rùn)采123 2026-03-18 | 10/500 |
|
|
[考博] 東華理工大學(xué)化材專業(yè)26屆碩士博士申請(qǐng) +8 | zlingli 2026-03-13 | 8/400 |
|
|
[考研] 材料與化工求調(diào)劑 +7 | 為學(xué)666 2026-03-16 | 7/350 |
|
|
[考研] 0703化學(xué)調(diào)劑 +5 | pupcoco 2026-03-17 | 8/400 |
|
|
[考研] 274求調(diào)劑 +6 | S.H1 2026-03-18 | 6/300 |
|
|
[考研] 295求調(diào)劑 +3 | 一志愿京區(qū)211 2026-03-18 | 5/250 |
|
|
[考研] 297求調(diào)劑 +8 | 戲精丹丹丹 2026-03-17 | 8/400 |
|
|
[考研] 299求調(diào)劑 +5 | △小透明* 2026-03-17 | 5/250 |
|
|
[基金申請(qǐng)] 被我言中:新模板不強(qiáng)調(diào)格式了,假專家開(kāi)始管格式了 +4 | beefly 2026-03-14 | 4/200 |
|
|
[考研] 277調(diào)劑 +5 | 自由煎餅果子 2026-03-16 | 6/300 |
|
|
[考研] 308求調(diào)劑 +4 | 是Lupa啊 2026-03-16 | 4/200 |
|
|
[考研] 材料與化工專碩調(diào)劑 +5 | heming3743 2026-03-16 | 5/250 |
|
|
[考博] 26申博 +4 | 八6八68 2026-03-16 | 4/200 |
|
|
[考研] 275求調(diào)劑 +4 | 太陽(yáng)花天天開(kāi)心 2026-03-16 | 4/200 |
|
|
[考研] 070300化學(xué)學(xué)碩求調(diào)劑 +6 | 太想進(jìn)步了0608 2026-03-16 | 6/300 |
|
|
[考研] 070303 總分349求調(diào)劑 +3 | LJY9966 2026-03-15 | 5/250 |
|
|
[考研] 0703化學(xué)調(diào)劑 290分有科研經(jīng)歷,論文在投 +7 | 膩膩gk 2026-03-14 | 7/350 |
|
|
[考研] 288求調(diào)劑 +4 | 奇點(diǎn)0314 2026-03-14 | 4/200 |
|
|
[考研] 復(fù)試調(diào)劑 +3 | 呼呼?~+123456 2026-03-14 | 3/150 |
|