高分求一道迭代模型的matlab程式設計問題,題目如圖。答案私信我,千萬私信答得好追加)

2021-04-02 03:15:29 字數 4130 閱讀 7086

1樓:匿名使用者

承蒙樓上的知友抬愛,把我兩年半之前回答一個問題(編號687646670441069324)的答案一字不改的複製過來了。其實那段**是我在上某門課時為了觀察hénon引力線的迭代過程而編寫的,與當時問題的要求也並不太相符。

這個問題的背景是關於混沌現象的一個稱為hénon對映的離散時間動態系統模型

其中經典hénon對映取a = 1.4,b = 0.3,也就是題目中給的資料。

(1)按照要求,編寫函式:

function [x, y] = henon(x0, y0, n)x = [0; zeros(n,1)*nan];

y = x;

for i = 1 : n

x(i+1) = 1 + y(i) - 1.4*x(i)^2;

y(i+1) = 0.3 * x(i);

end輸入引數分別為初值x0、y0以及迭代次數,輸出為迭代結果。

(2)呼叫函式

x0 = 0.1; y0 = 0.2;

[x, y] = henon(x0, y0, 100);

disp([x(end) y(end)])結果為 xk = -1.2493, yk = 0.3805。

(3)呼叫函式

x0 = 0; y0 = 0;

[x, y] = henon(x0, y0, 30000);

plot(x, y, '.')

xlabel x, ylabel y

2樓:剪斷了翅膀的

n=3000;

x=[0; zeros(n,1)*nan];

y=x;

clftail = plot(x,y,'.','color',[1 1 1]*0.75,'markersize',5);

hold on

head = plot(nan,nan,'.','markersize',25);

title(['x_ = 1+y_k+1.4*x_k^2' 10 'y_ = 0.3x_k']);

xlabel('x');

ylabel('y');

for i=1:n

x(i+1)=1+y(i)-1.4*x(i)^2;

y(i+1)=0.3*x(i);

tryset(tail,'xdata',x,'ydata',y)

set(head,'xdata',x(i+1),'ydata',y(i+1))

drawnow

catch

break

endend

matlab和c語言程式設計是一回事嗎?

3樓:為江山放棄了愛

區別:1、執行效率不同

matlab的底層是c寫的,c的效率比matlab要高,但matlab語法簡單多了,而且簡單,但執行效率不高。

2、用途不同

matlab是用於特定的方面的,比如說矩陣運算方面、dsp就很有優勢,而c語言不同,很多軟體的底層都是c編寫的。

3、實現原理不同

matlab是解釋型指令碼,c語言是編譯執行的語言,簡單說matlab的解釋程式是看一句**執行一次,而c語言的編譯器必須編譯好原始檔生成目標**,再執行整個目標**。

matlab底層是c實現的。.m檔案可以使用matlab內建的mcc命令編譯成exe檔案。

4樓:匿名使用者

這是兩者級別不同的語言。兩者的編譯方法以及編譯語言都不一樣。

區別就在於:

(1)兩者語言級別不同。matlab是第4代語言,屬於高階語言,c語言是第3代中級語言。

(2)兩者用處不同。matlab是一種指令碼語言,主要用於數學計算科學計算,是一種商業數學軟體,是一種數值計算環境和程式語言,而c語言是一種程序導向程式設計語言,主要用於底層硬體或作業系統的程式設計,是一種通用的、程式式的程式語言,廣泛用於系統與應用軟體的開發。

(3)兩者語言特徵不同。c語言具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,而matlab本身基於矩陣運算,並無成長空間,且有一些外掛是可以matlab**生成c語言。

會不會英語關係不大,只要願意花時間去背一些常用的單詞就可以的。

5樓:匿名使用者

不是一回事兒。區別在於matlab是第4代語言,c是第3代語言。有一些外掛是可以matlab**生成c,matlab能做到的c好多都做不到 。

會不會英語關係不大,只要願意花時間去背一些常用的單詞就可以的。

matlab是第4代語言,是一種指令碼語言,主要用於數學計算科學計算,是一種商業數學軟體,是一種數值計算環境和程式語言,主要包括matlab和

simulink兩大部分。matlab基於矩陣運算,其全稱matrix

laboratory即得名於此。它在數學類科技應用軟體中在數值計算方面首屈一指。matlab可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者

介面、連線其他程式語言的程式等,主要應用於工程計算、控制設計、訊號處理與通訊、影象處理、訊號檢測、金融建模設計與分析等領域。

c是第3代語言,是一種程序導向程式設計語言,主要用於底層硬體或作業系統的程式設計,是一種通用的、程式式的程式語言,廣泛用於系統與應用軟體的開發。具有

高效、靈活、功能豐富、表達力強和較高的移植性等特點,也就是說,c語言的目的是用與軟體開發,他有著豐富的應用支援。

6樓:匿名使用者

當然不同了,matlab是用c開發的但是二者的語言不同,如果呼叫的話必須有相應的編譯器或者呼叫生成的dll檔案

不懂英語學習有些困難,可以找本中文教材看看

7樓:匿名使用者

c是一個程式開發軟體,而matlab是個數學軟體,當然不同了。學習軟體對於沒有英語的初學者來說不是什麼問題,最好看一下教程跟著帶著走,效果會很明顯。當然當你有一定的水平後,懂英語是必要的。

學程式設計應該先學什麼?聽說最好先不要學c語言,一個學長說應該先學matlab,是這樣嗎?

8樓:

關於到底首先抄該學習哪一種編bai程語言?這個並沒有一定之規du。可以根據自己的具zhi體dao工作需要進行程式語言的選擇。

從來沒有聽說過最好不要先學 c 語言,而應該先學習 matlab 語言的。如果你的工作需要使用 matlab 語言進行各種複雜的數**算,那麼你就可以首先學習 matlab 語言;但是如果在你的工作中根本就不需要進行各種複雜的數**算,而是需要你編寫和計算機作業系統比較緊密的軟體,那麼你就必須學習、並精通 c 語言程式設計。

這就是我個人的親身體會。因為在我的計算機程式設計工作中,由於根本就不涉及到需要使用各種複雜的數**算的地方,所以我到現在也從來沒有學習過 matlab 語言的程式設計;但是由於我的程式設計工作是和系統的相關性比較緊密的,所以我的 c 語言程式設計就比較熟練。

matlab可以用c語言程式設計嗎

9樓:相逢雙戀

1.準備好c語言程式,清楚c語言的

入口函式

2.編寫mexfunction函式。mexfunction函式為c語言內與matlab語言的介面函容數。

呼叫例項在mylinedetect.c檔案中.在matlab中呼叫mex指令編譯相關檔案,將c語言編譯為mex檔案。

3.編譯完成後,生成mylinedetect.mexw32或mylinedetect.mexw64檔案,此檔案即mex檔案,用於matlab與c語言介面函式.

4.編譯完成之後,編寫matlab函式,呼叫mex檔案。以mex檔案的形式呼叫編譯完成的c語言函式[o1,o2]=mylinedetect(double(x).

');......

5.輸出結果,上述linedetect函式完成影象中直線檢測功能,帶入matlab中呼叫後形成結果。

matlab語言程式設計與用c語言程式設計的異同是什麼?

10樓:匿名使用者

c語言你需要做所有的東西,而matlab很多東西都為你做好了,你呼叫就可以了;但matlab沒有c靈活啊。

11樓:撿到的幸福

matlab是解釋語言,c是編譯語言。

matlab的語法跟c也不同.

個人認為matlab程式語言類似於vb。

12樓:匿名使用者

matlab是解釋型語言,c是編譯型語言

一道vb題,急求,vb題一道,急求

答案是c.輸入10000個數值,計算平均數,適合採用迴圈結構演算法。a。判斷一個證書是否為偶數,解決該問題僅需一步判斷,也許需要一步賦值,沒有多次重複的步驟,不適合採用迴圈結構演算法。b。輸入一個圓的半徑,計算面積和周長。輸入資料 計算面積,這三個內容都是一個語句就可以完成的,沒有多次重複的步驟,不...

一道數學題急高分啦

證明 因為 d,e分別是ac,ab的重點 三角形abc為直角三角形 所以 de平行且等於bc的1 2 又因為f在bc的延長線上 所以 de cf 又因為角a 角cdf,cd ad,角fca 角acb所以三角形cdf全等於三角形ade 角邊角 所以cf de,又因為de cf 所以為平行四邊形 一組對...

求一道奧數題,求一道奧數題的答案!!

因為1,2,3,4,5,及其5的倍數就可以代表整個自然數的所有元素 因為自然數是十進位制,而五恰好是中間 反正法 假設任意6個不同的自然數中至少有2個數的差不是5的倍數那麼其尾數的差就不等於 5或0,又因為自然數尾數為1,2,3,9,0,任意選6個尾數,其結果總會出現 5或者0,這與假設矛盾,所以假...