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求含有未知矩陣的逆矩陣
你的矩陣也不是個方陣,怎麼求逆?隨便編了幾個數,可以求的,只要存在逆矩陣,但結果很複雜 clear all clc syms s a b c d a s,0,0,a i sqrt b 1 c 1 0,s,a i sqrt b c 0 a,b,c,d a b,c,d,a b inv a 直接計算就行 ...
matlab矩陣求平均值,在matlab中 怎麼計算平均值
1111我我我 用mean a,1 或者mean a,2 函式求矩陣a均值,再用cumsum函式可以累加。具體 如下 a rand 3 a mean a,1 按列平均 b mean a,2 按行平均 c mean a 全部平均 a 0.8134 0.8940 0.28760.7185 0.9507 ...
影象灰度共生矩陣怎麼在matlab中實現,要具體源程式
楊好巨蟹座 matlab提供了現成的函式 graycomatrix生成共生矩陣 graycoprops計算其特徵值 具體用法 glcm graycomatrix i 從影象i建立灰度共生矩陣glcm。通過計算具有灰度級i和灰度級j的畫素對在水平方向相鄰出現的頻繁程度。glcm中的每個元素說明了水平方...