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,這與假設矛盾,所以假...