1樓:匿名使用者
f=inline('x^2-7*x+10','x');
a=2;
b=8;
epsilon=0.25;
x1=b-0.618*(b-a);
f1=f(x1);
x2=a+0.618*(b-a);
f2=f(x2);
for k=1:7
fprintf(1,'迭代次數 k=%3.0f\n',k)if f1<=f2
b=x2;
x2=x1;
f2=f1;
x1=b-0.618*(b-a);
f1=f(x1);
else
a=x1;
x1=x2;
f1=f2;
x2=a+0.618*(b-a);
f2=f(x2);
endx=0.5*(b+a);
fprintf(1,'迭代區間-左端 a=%3.4f\n',a)fprintf(1,'試點1座標值 a=%3.4f\n',x1)fprintf(1,'函式值 f1=%3.
4f\n',f(x1))fprintf(1,'迭代區間-右端 b=%3.4f\n',b)fprintf(1,'試點2座標值 x2=%3.4f\n',x2)fprintf(1,'函式值 f2=%3.
4f\n',f(x2))fprintf(1,'區間中點 x=%3.4f\n',x)% disp''
end讓disp函式不工作,即可,不過看起來你這編的是0.618演算法。好像網上有源**
不過你這是控制迭代次數,下面我給了你控制迭代精度的**,希望對你有所幫助,
如果你喜歡我的回答,那就給個精華吧
clcclear all;
a=1; %區間下限
b=7; %區間上限
e=0.1; %精確度
f = inline('x^2-7*x+10');
%構造的目標函式
x1=a+0.382*(b-a);
y1=f(x1);
x2=a+0.618*(b-a);
y2=f(x2);
while abs(b-a)>e
if y1 b=x2; x2=x1; y2=y1; x1=a+0.382*(b-a); y1=f(x1); else a=x1; x1=x2; y1=y2; x2=a+0.618*(b-a); y2=f(x2); endend xp=0.5*(a+b); %算出目標值fp=f(xp); 2樓: 都是把格式好的字串輸出,只是輸出的目標不一樣: 1 printf,是把格式字串輸出到標準輸出(一般是螢幕,可以重定向)。 2 sprintf,是把格式字串輸出到指定字串中,所以引數比printf多一個char*。那就是目標字串地址。 3 fprintf, 是把格式字串輸出到指定檔案裝置中,所以引數筆printf多一個檔案指標file*。 回答不容易,希望能幫到您,滿意請幫忙採納一下,謝謝 ! matlab中disp,fprintf和sprintf有什麼區別 3樓: disp用來直接顯示在命令列裡,非常輕量 sprintf和fprintf都用來生成格式化的字串,當然也可以直接接受沒有格式的字串 sprintf是s(tring)print f(ormat),也就是直接生成帶格式的字串的,通常並不直接用來顯示在命令列 fprintf是f(ile)printf(ormat),可以用來直接進行檔案的寫入,如果不指定檔案的fid那麼直接輸出到命令列 matlab中fprintf和disp的有多大的區別啊? 4樓:大野瘦子 區別很大,具體如下: 一、輸出的目標不一樣 disp用來直接顯示在命令列裡,非常輕量,fprintf是f(ile)printf(ormat),可以用來直接進行檔案的寫入,如果不指定檔案的fid那麼直接輸出到命令列。 二、用法不同 disp即display,可用來顯示字串、計算結果等。 例子:x= [1 2 3]; disp(['the values of x are: ', num2str(x)]); 結果顯示為: the values of x are: 1 2 3 fprintf函式可以將資料按指定格式寫入到文字檔案中,也可以顯示字串、計算結果。 其呼叫格式為: count = fprintf(fid, format, val1, val2, ...) 其中fid是我們要寫入資料檔案的檔案標識,format是控制資料顯示的字串。如果fid丟失,資料將寫入到標準輸出裝置(命令視窗)。 格式(format)字串指定佇列長度,小數精度,域寬和輸出格式的其他方面。 它包括文字數字字元(%)和字元序列(用於指定輸出資料顯示的精確格式)。 三、使用物件 想把字串pi=和變數pi的值顯示在一行上,試用disp(′pi=′,pi),回答這是非法的。這時應該用sprintf函式,它可把資料按要求的格式轉換為字串,再把它與需要顯示的字串組裝成一個長字串,使顯示格式非常靈活,人機介面更為友好,如鍵入: st=sprintf(′ 圓周率pi= %8.5f′,pi); disp(st) 結果為圓周率pi=3.14159 其中%為資料格式符,f表示十進位制浮點,8.5表示數字的長度為8位,小數點後5位,從%到f之間的字元都是不顯示的,它只指出顯示資料pi的格式,跟c的printf很相似。 5樓:匿名使用者 disp即display,可用來顯示字串、計算結果等 例子: x= [1 2 3];disp(['the values of x are: ', num2str(x)]);結果顯示為: the values of x are: 1 2 3fprintf函式可以將資料按指定格式寫入到文字檔案中,也可以顯示字串、計算結果。其呼叫格式為: count = fprintf(fid, format, val1, val2, ...) 其中fid是我們要寫入資料檔案的檔案標識,format是控制資料顯示的字串。如果fid丟失,資料將寫入到標準輸出裝置(命令視窗)。 格式(format)字串指定佇列長度,小數精度,域寬和輸出格式的其他方面。它包括文字數字字元(%)和字元序列(用於指定輸出資料顯示的精確格式)。例子: fprintf('%6.4d\n',123) 顯示十進位制整數資料fprintf('%s\n','string') 顯示字元資料fprintf(1,'it''s friday.\n')結果顯示為: it's friday. 6樓:匿名使用者 一樓二樓是正解,如果想多控制輸出的格式,推薦使用fprintf 7樓:匿名使用者 這個帖子不回對不起自己!我是不是太肉麻了!matlab技術論壇我來了! matlab中disp,fprintf和sprintf有什麼區別 8樓: 都是把格式好的字串輸出,只是輸出的目標不一樣: 1 printf,是把格式字串輸出到標準輸出(一般是螢幕,可以重定向)。 2 sprintf,是把格式字串輸出到指定字串中,所以引數比printf多一個char*。那就是目標字串地址。 3 fprintf, 是把格式字串輸出到指定檔案裝置中,所以引數筆printf多一個檔案指標file*。 回答不容易,希望能幫到您,滿意請幫忙採納一下,謝謝 ! 賦值的意思 a 1 表示a的值是1 a hello 表示a的值是字串hello matlab中a 是什麼意思 5 a 是把矩陣a轉換為一個行向量,就是一行。例如 a rand 2,3 a 0.6925 0.3965 0.78020.5567 0.0616 0.3376 b a b 0.6925 0.... 我感覺matlab離散的原理好像和書中的那些原理沒半毛錢關係?笑翻了,哇咔咔,你才發現啊?這是小波參考書的通病,也是容易讓人抓狂的難點,就是小波理論的示意性理解與實際實現演算法總是被混為一談,實際這兩者有時真的沒半毛錢關係都沒有,完全是兩個領域的問題。在matlab中cwt理論的理解是用你上面的第一... matlab 程式的檔案 是以.m檔案的形式呈現的。將matlab 編寫進.m檔案內然後版 執行即可。例子 權 建立一個 helloworld.m 檔案內包括內容如下 fprintf hello world 使用快捷鍵f5直接執行,然後可以在控制檯下看到列印的 hello world 按你問的問題,...matlab中a什麼意思,matlab中a是什麼意思
matlab中離散楔的原理,matlab中離散小波的原理
matlab中如何程式設計序進去,matlab中的指令碼程式怎麼編寫?