用matlab怎麼在矩陣後面加入一列自己想加的內容

時間 2021-08-30 11:13:07

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中怎麼定義乙個大矩陣

在matlab中,矩陣一般指二維陣列,當然矩陣也可以是多維的。生產的方法常用的有 直接輸入法。比如 c 1 2 3 4 生成2x2階矩陣2.函式法。matlab中提供了若干特殊函式用於繪製二維陣列。比如magic 3 生成3x3階魔方矩陣3.外部檔案法 通過外部檔案,比如data.m命令執行生產資料...

在MATLAB中怎麼從矩陣中提取相應元素,並生成新的矩陣

導超 t 0 0.01 10 t0 1 10 y 0,10 1009 a0 for i 1 10 a y find i t a a0,a a0 a enda 執行結果 a columns 1 through 9109 209 309 409 509 609 709 809 909 column 10...

matlab中 單位矩陣用ones和eye的區別

shine戚七七 matlab 中,單位矩陣的生成 eye n 為n n的單位矩陣。ones函式 生成全1陣。zeros的使用方法 b zeros n 生成n n全零陣。b zeros m,n 生成m n全零陣。b zeros m n 生成m n全零陣。b zeros d1,d2,d3 生成d1 d...