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

時間 2021-08-30 11:15:18

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中的每個元素說明了水平方...