1樓:
其實這種不好用矩陣表示,因為資料格式不一樣。最好的方法是matlab中的table或cell,推薦table。第一列是券商,第二列是市盈率,第三列是排名。
為了實現你說的排名方法,應該在加兩列,倒騰資料用,然後刪除。假設券商m個,
temp = cell(m,4);
tab = cell2table(temp,'variablenames',);
tab.trader = ; % 你把你提取出來的名字寫成列向量。
tab.earning = 市盈率列向量;
tab.dummy1 = (1:m)' % 其實是券商的序號
sortrows(tab,'earning','descend') ; %按市盈率從高到低排名,你的是從低到高,那就把descend刪掉。
tab.dummy2 = (1:m)' ; %排名
for ii = 1:m
tab.ranking=strcat(num2str(tab.dummy2(ii)),'/',num2str(m));
end如果是按排名順序,現在刪掉多餘的列即可;
tab(:,'dummy1')=;
tab(:,'dummy2') = ;
如果按券商開始的順序排名,那麼還要倒騰一下。
sortrows(tab, 'dummy1');
然後刪除多餘的列。
其實更簡單的是在excel中做,匯入到matlab
2樓:我行我素
這要求應能實現,把你的資料發過來,我寫程式、除錯
matlab中如何給已有矩陣插入一行或一列值
3樓:手機使用者
舉例來說吧假
來如你已有自矩陣a如下:a=[2 3 5;3 4 1;0 9 7]這是一個3*3矩陣,那麼當你想插入一行r=[1 2 3]時,那麼可
以這樣做:a=[a;r]這樣a就變成了4*3的矩陣a如下:a=[2 3 5;3 4 1;0 9 7;1 2 3]
假如你已有矩陣a為:a=[2 3 5;3 4 1;0 9 7;1 2 3]那麼當你想插入一列
c=[1;2;3;4]時,你可以這樣做:a=[a c]那麼這是a就變成了
4樓:匿名使用者
比如現bai在有個矩陣:dua=n*m (n行m列),有個新行向量:a=1*m(zhi1行m列),你想在daoa矩陣的第專k行和第k+1(其中k行插入這個新的行屬向量。
你可以這麼做:a = [a(1:k,:); a ;a(k+1:n,:)];
舉例:a = rand(10,5); %10行5列k = 7; %希望在第7行和第8行之間插入
a = [1,2,3,4,5]; %希望插入的行向量a = [a(1:k,:); a; a(k+1:10,:)];
matlab中怎麼在數字矩陣中加入一列字元?
5樓:
首先有一個函式,如下
function re=gjz(t)
if p=1
t=‘字串’;
endif p=0
t=‘字串問題’;
end然後又有一個程式呼叫gjz這個函式,程式如下da=;
re=ones(1, length(da));%當然這裡肯定不行,這裡定義的是數值型矩陣,就是想提前定義各矩陣,把字串放進去,問題就在這裡,我嘗試用cell或者其他都是出現問題。
for i=1:length(da)
re(i)=gjz(da(i));end
6樓:文件加工坊
直接輸也是一種方法 ceil方法也可以
7樓:金
cell juzhen
怎麼用matlab生成迴圈矩陣,matlab,怎樣將每次迴圈中生成的值存在一個矩陣裡?要簡單的方法。。。。。。
影子愛蟲蟲 lihaiyonglhy yahoo.com.cn n點迴圈卷積 x1 x1 zeros 1,n length x1 x2 x2 zeros 1,n length x2 m 0 n 1 t 0 n 1 x2 x2 mod m,n 1 反折h zeros n,n for n 1 n m m...
用matlab如何求矩陣和數相乘
a 1,2,3 4,5,6 b a 2 c 1,2 1,2 1,2 d a c b b 2 4 6 8 10 12 d d 6 12 15 30 直接乘就可以,比如3 x 怎樣用matlab求矩陣的乘積 用matlab求矩陣 復的乘積 一般乘法 制a b a baib代表兩個du矩陣。b 2,5,8...
matlab怎麼建立矩陣資料匯入
直接輸入 就是在命令視窗中直接輸入矩陣的元素,這種方法適用於有限元素 簡單的矩陣。用中括號,同一行的元素用逗號 或空格隔開,不同行的元素用分號隔開。還可以雙擊工作空間 workspace 中的某一變數,在 中填入任意矩陣的元素。用m檔案建立矩陣 在命令視窗中輸入edit,新建m檔案,語法和直接輸入法...