用matlab編寫兩個排序函式,怎麼分別使用插入排序演算法 起

2021-04-13 01:50:06 字數 2936 閱讀 7484

1樓:匿名使用者

h=10*rand(1,10); %給定

baidu10個數

zhi的dao矩回陣答

for i=1:10

for j=10:-1:i+1

if h(j-1)>h(j)

t=h(j);h(j)=h(j-1);

h(j-1)=t;

endend

enddisp(h)

2樓:匿名使用者

var a = ;

for(var i=0;i

參考下吧

3樓:霸爸爸丶

ahpu???方???

用matlab 程式 冒泡法對10個數由小到大排序 5

4樓:藍色大象橡皮擦

冒泡法對10個數由小到大排序:

a = rand(1,10);%隨機生成一組數

a%未排序前原始資料

n = 10;%陣列長度

for j = 1: n-1

for i= 1:n-1

if a(i)>a(i+1)

c = a(i);

a(i) = a(i+1);

a(i+1) = c;

endend

enda %排序後陣列顯示

資料拓展

冒泡法排序原理:例如有一組數為12,23,1,4,2,6。使用氣泡排序方法使這組數從小到大排列。

首先12和23比較,12<23,則位置不變;接著23和1比較,因為23>1,所以交換23和1的位置,這組數這時是12

1 23 4 2 6;

然後比較23和4,因為23>4,所以交換23和4,這組數變為12 1 4 23 2

6;然後比較23和2,23>2,再交換,變為12 1 4 2 23 6;然後比較23和6,23>6,再交換,最後為12 1 4 2 6

23。這就叫經過了一趟排序,即相鄰兩數比較,大的放在後面,經過一趟排序後,最大的數就冒泡到最後面了。然後再對前n-1個數進行第二趟排序,排序後第二大的數就放在了第n-1個位置;最後經過n-1趟排序後整個陣列就有序了。

matlab是美國mathworks公司出品的商業數學軟體,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。

matlab是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。是由美國mathworks公司釋出的主要面對科學計算、視覺化以及互動式程式設計的高科技計算環境。

它將數值分析、矩陣計算、科學資料視覺化以及非線性動態系統的建模和**等諸多強大功能整合在一個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,代表了當今國際科學計算軟體的先進水平。

5樓:匿名使用者

matlab編寫的冒泡法排序程式,可輸入多個數排序。

a=input('輸入資料:') ;

n=length(a);

i=1;j=1;

for j=1:n

for i=2:n

if a(i-1)

b=a(i);

a(i)=a(i-1);

a(i-1)=b;

endend

n=n-1;

enda

6樓:匿名使用者

a = rand(1,10);%隨機生成一組數a%未排序前原始資料

n = length(a);%陣列程度

for j = 1: n-1

for i= 1:n-1

if a(i)>a(i+1)

c = a(i);

a(i) = a(i+1);

a(i+1) = c;

endend

enda %排序後陣列顯示

這是最笨的方法,需要迴圈n*n次,可以有一些改進的方法,比如加入標誌位,如果在一次迴圈中標誌位不變,則停止迴圈。

希望樓主自己體會 並改進。

matlab 中,怎麼讓一個矩陣按某一列排列,並且行也跟著變動?

7樓:噠噠噠噠你個頭

在來matlab中讓矩陣按某一列排列,源

需要用到bai

排序演算法對某一du列資料排序,然後在排序算zhi法的if判斷句中,dao依次交換矩陣兩行內容。

以題目中矩陣為例,可以利用冒泡法對第三列資料排序,實現程式如下:

a=[5 7 8;4 6 1;8 0 7];

n=length(a);b=;

for i=1:n-1

for j=1:n-i

if(a(j,3)>a(j+1,3))

b=a(j,:);a(j,:)=a(j+1,:);a(j+1,:)=b;

endend

enddisp(a)

通過程式即可實現將程式按第三列排列。

擴充套件資料氣泡排序演算法原理:

1、比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

2、對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

3、針對所有的元素重複以上的步驟,除了最後一個。

4、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

8樓:匿名使用者

a=[5 7 8

4 6 1

8 0 7]

a =5 7 8

4 6 1

8 0 7

>> sortrows(a,3)

ans =

4 6 1

8 0 7

5 7 8

MATLAB中的兩個變數相乘怎麼編寫

你的矩陣維數不一致 y2 x2 tan 1.x2 sin x.3 我猜測,後面的sin函式裡面少了一個2 y2 x2 tan 1.x2 sin x2.3 求兩個函式的乘積的程式用matlab寫的 不明白你的想法,說清楚點下次,最好附個例子,有助於解。你的,我大膽猜猜了,應該是 比如x 1 100 向...

用C 編寫洗牌發牌的函式,玩家可能有兩個 和

幾乎所有的程式設計師都寫過類似於 洗牌 的演算法,也就是將一個陣列隨機打亂後輸出,雖然很簡單,但是深入研究起來,這個小小的演算法也是大有講究。我在面試程式設計師的時候,就會經常讓他們當場寫一個洗牌的函式,從中可以觀察到他們對於這個問題的理解和寫程式的基本功。在深入討論之前,必須先定義出一個基本概念 ...

c實驗編寫兩個函式求兩個整數的最大公約數

include include int fun y int,int int fun b int,int main int fun y int x,int y return i int fun b int x,int y return i include int cal int m,int n int...