查看完整版本: MATLAB 陣列
頁: [1]

c17283945 發表於 2014-4-6 02:55 PM

MATLAB 陣列

本帖最後由 c17283945 於 2014-4-6 02:56 PM 編輯

我還是個MATLAB小魯魯,以下兩個問題需要各位的幫助:
1.
Q1:任意一個陣列如下:
      1   3    4  10
      2   5    9  11
      6   8  12  15
      7 13  14  16
%其中數字表示陣列中元素的讀取順序。也就是說,上述陣列依序讀出所得向量為:
%1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16。
%用magic指令產生4x4陣列並依序讀出。

x=magic(4)

想法:可以將陣列轉為一維並加入索引,在將magic(4)數值依序轉回嗎?



2.我建立了a,b,c三個陣列
a=

b=

A=;
c=cat(1,A,A)  %如果建立陣列c 有更好的方法,請指導小弟,感謝!!!!

Q2:陣列a, b, c分別表示班上同學三次數學考試的成績。老師挑選每位同學三次成績中之最高分作為學期成績。
請算出同學的學期成績。

...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

c17283945 發表於 2014-4-8 08:20 AM

以想到
1.f=a;
ab=a-b;
m=find(ab<0);
f(m)=b(m);

g=f;
dc=d-c;
n=find(dc<0);
g(n)=c(n);
MAX=g

mm122048 發表於 2014-5-12 03:54 PM

1.可以使用內建指令,MATLAB本身在計算時就具備順序,所以不用花時間再轉置上面
clear all;clc;
n=16;
X=magic(sqrt(n));
% B = sort(A,dim,mode)
% dim=1時,是依行向排序;dim=2時,則是是依列向排序
% 參數mode則代表排列的方式,若mode='ascend'時為升冪排列;
% mode='decend'時為降冪排列
Y=sort(X(1:n),'ascend')

2.第二題 我不知道你希望得到的是甚麼樣的方法,如果方便的話可以告訴更詳細一點

c17283945 發表於 2014-5-13 11:44 AM

mm122048 發表於 2014-5-12 03:54 PM static/image/common/back.gif
1.可以使用內建指令,MATLAB本身在計算時就具備順序,所以不用花時間再轉置上面
clear all;clc;
n=16;


謝謝大大,詳細的說明^__^
第二題已經解決囉~~

c17283945 發表於 2014-5-13 11:49 AM

mm122048 發表於 2014-5-12 03:54 PM static/image/common/back.gif
1.可以使用內建指令,MATLAB本身在計算時就具備順序,所以不用花時間再轉置上面
clear all;clc;
n=16;


想再請教大大
Q:請參考find的help,試重新設計一個m-function my_find.m,並用一個m-script verify.m驗證my_find.m與系統提供之find具有相似的功能。

請問該如何打出與find有"相似"功能的程式,並去呼叫它使用。...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div>

mm122048 發表於 2014-5-13 10:05 PM

c17283945 發表於 2014-5-13 11:49 AM static/image/common/back.gif
想再請教大大
Q:請參考find的help,試重新設計一個m-function my_find.m,並用一個m-script verify.m驗證 ...

你的意思是自己寫一個FIND的函數嗎?
還要再寫一個副程式驗證?

如果這是C/C++,我真的會去寫!!
問題是這是MATLAB
如果沒記錯,這個FIND內建函數,是跟EXCEL的CODE一模一樣
所以我應該不會去做這個嘗試

如果你很堅持,可以利用FOR+IF迴圈去嘗試
只是如果當矩陣大一點的時候,這樣電腦應該會當機吧!
不管怎樣,NICE TRY!!...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div>

c17283945 發表於 2014-5-15 03:50 PM

mm122048 發表於 2014-5-13 10:05 PM static/image/common/back.gif
你的意思是自己寫一個FIND的函數嗎?
還要再寫一個副程式驗證?



恩恩,我的意思是這樣沒錯!!
好的我在照您給的方向,
試著做看看,謝謝大大。

WWWavavgan 發表於 2014-5-21 03:42 PM

頁: [1]