1樓:典頤
d=[1 5 3 6;0 5 8 5;5 3 1 0;7 3 0 5];
[m n]=size(d);
s=zeros(m-2,n-2);
a=zeros(m-2,n-2);
for i=2:m-1;
for j=2:n-1;
a=[d(i-1,j),d(i,j-1),d(i,j+1),d(i+1,j)];
s(i-1,j-1)=length(find(a==5));
endends
2樓:
[m,n]=size(a);
d=zeros(m,n);
for i=2:m-1;
for j=2:n-1;
seg=a(i-1:i+1,j-1:j+1);
seg(2,2)=0;
d(i,j)=length(find(seg==5))endend
% a內部每個數的周圍5的個數顯示在d中的對應的位置。
以上只能找a內部數的結果,但是沒有找a的邊界的數。
如果也要邊界的數的個數,用下面的:
[m,n]=size(a);
m=zeros(m+2,n+2);
m(2:end-1,2:end-1)=a;
d=zeros(m,n);
for i=2:m+1;
for j=2:n+1;
seg=m(i-1:i+1,j-1:j+1);
seg(2,2)=0;
d(i,j)=length(find(seg==5))endend
matlab 中怎麼把資料弄成矩陣形式?
3樓:
比如你有那些答案ab
c你要得到乙個答案矩陣
d=[a;b;c]
matlab怎樣將迴圈輸出的資料結果放進乙個矩陣中?
4樓:楊柳風
n = 10;
b = zeros(1,n);
for k = 1:n
r = k; % 運算後資料
b(k) = r; % 存入矩陣內
end;
matlab怎樣將迴圈輸出的資料結果放進乙個矩陣中,然後用作他用?
5樓:楊柳風
n = 10;
b = zeros(1,n);
for k = 1:n
r = k; % 運算後資料
b(k) = r; % 存入矩陣內
end;
6樓:匿名使用者
你直接打為
a=1:10
就可以啦
7樓:
for i=1:10
b(i) = i ;
endb
8樓:匿名使用者
b=zeros(1,10); 的位置放錯了,放到迴圈外,如下所示;
b=zeros(1,10);
for i=1:10
b(:,i)=i;
end或者
b=;for i=1:10
b=[b,i];end
9樓:渣扎乙個
b = zeros(1,10);%矩陣要在迴圈外定義,如果定義在迴圈裡每次迴圈時把之前的資料覆蓋
for i = 1 : 10 %只有最後乙個資料為10,前9個覆蓋為0
b(:,i)=i;end
10樓:簡簡單dan的
把b=zeros(1,10); 放到迴圈外就好了b=zeros(1,10);
for i=1:10
b(:,i)=iend
怎樣將迴圈輸出的資料結果放進乙個矩陣中 matlab
11樓:匿名使用者
首先做乙個空矩陣,用來存你輸出的內容
如:sum =
然後舉例說明,一下迴圈為例子:
for i = 1:5
for j = 1:5
%假設每次迴圈生成矩陣為a(i,j)
sum = horzcat(sum,a(i,j))%這句就會把每次生成的矩陣a(i,j)橫向加入到sum裡面%如果要縱向加,可用vertcat 函式
%也可以用 sum [sum; a(i,j)]的方法來把兩個matrix加起來
%要是包括了橫向和縱向新增,可以用if根據迴圈的情況來自定義如何新增,按照什麼次序新增
endend
最後並為乙個矩陣 sum
常用的矩陣操作函式有:
cathorzcat
vertcat
repmat
blkdiag
12樓:五粒兵
把e和x裡冒號逗號去掉
matlab 弄乙個空矩陣,如何把輸出的資料放到空矩陣裡面,謝謝
13樓:
假設a=zeros(5),b是你要輸出的值,你只要把b賦值給a中的元素就行了,比如a(2,1)=b,也就是a的第2行第1列的值為b
14樓:匿名使用者
data = ; 這個就bai是申明乙個名字叫dudata的空矩陣
data = [data;a]; 這個是把zhia作為一列加到data中dao
至於你想怎麼把資料放進去,要內看容你的資料是怎樣的。
矩陣操作有函式,data = [data;a];這種預設的好像是豎著一列一列的往後加.想一行一行的加,或者乙個矩陣乙個矩陣加,都是有函式可以用的。~
15樓:匿名使用者
偽**:
[m,n]=size(輸出資料);
a=zeros(m,n);
a=輸出資料;
有一事不明,一定要先定義個空矩陣a嗎?你不是要把資料寫入到那個矩陣a嗎?直接把輸出資料賦值給a不就行了嗎
matlab 如何將輸出資料儲存在乙個矩陣中
matlab 如何輸出矩陣?
16樓:匿名使用者
a %注意變數a後面沒有「;」號,即可輸出disp(a)
matlab常用生成矩陣函式:
zeros(m,n)
生成乙個 m 行 n 列的零矩陣,m=n 時可簡寫為 zeros(n)
ones(m,n)
生成乙個 m 行 n 列的元素全為 1 的矩陣, 當m=n 時可寫為 ones(n)
eye(m,n)
生成乙個主對角線全為 1 的 m 行 n 列矩陣, m=n 時可簡寫為 eye(n),即為 n 維單位矩陣
diag(x)
若 x 是矩陣,則 diag(x) 為 x 的主對角線向量
若 x 是向量,diag(x) 產生以 x 為主對角線的對角矩陣
tril(a)
提取乙個矩陣的下三角部分
triu(a)
提取乙個矩陣的上三角部分
rand(m,n)
產生 0~1 間均勻分布的隨機矩陣 m=n 時簡寫為 rand(n)
randn(m,n)
產生均值為0,方差為1的標準正態分佈隨機矩陣m=n 時簡寫為 randn(n)
magic(n)
生成n階矩陣,矩陣中的數從1-n^2,且矩陣的橫向、縱向、對角線和相等
hilb(n)
生成n階hilbert矩陣,其中h(i,j)=1/(i+j-1)
參考資料
matlab常用生成矩陣函式.康冰冰的部落格[引用時間2017-12-28]
17樓:匿名使用者
第乙個問題
原因是,輸入字串的時候,中間不允許換行。如果要換行寫,應該拆成多個字串:
zb=sym(['[r1 0 0 0 0 0 0 0;0 r2 0 0 0 0 0 0;' ...
'0 0 r3 0 0 0 0 0;0 0 0 (1/jwc4) 0 0 0 0;' ...
'0 0 0 0 (1/jwc5) 0 0 0;0 0 0 0 0 (1/jwc6) 0 0;' ...
'0 0 0 0 0 0 jwl7 0;0 0 0 0 0 0 0 jwl8]'])
第二個問題
符號型別(sym)不能直接用fprintf輸出。可以轉換為字串然後再輸出,但需要逐個元素進行處理,以下是參考**:
[m,n] = size(x);
for k = 1: m*n
lengths(k) = length(char(x(k)));
end;
len = max(lengths);
for i = 1:m
str = '[';
for j = 1:n
s = char(x(i,j));
str = [str blanks(len-length(s)+1) s ','];
endstr(end) = ']';
fprintf('%s\n',str)
end這裡呼叫fprintf未指定檔案控制代碼,會直接在命令視窗輸出,你可以根據需要修改。
18樓:滿意請採納喲
輸出字元矩陣
比如: a=[ch2c=cach]
則可以如下輸入:
利用cell
因為本身您是字串形態的矩陣
字串型態之矩陣
['a' 'b'] == ['ab'] == ab (字串)所以從行矩陣轉置後
就不可能轉為行矩陣了
因此才會建議您才用 cell 矩陣進行儲存a=這樣也可以任意轉置
如果不想的話
就將原本矩陣
a =a = a'
a = a(:)
a = a'
19樓:昱婷漫步
直接用矩陣名,不加分號就好,如三行三列的隨機數矩陣生成後,用矩陣名:
a執行結果:
a =0.7577 0.6555 0.
03180.7431 0.1712 0.
27690.3922 0.7060 0.
0462
20樓:匿名使用者
dlmwrite('result.txt',d,);
其中result.txt是你想輸出的文件的名字,d是你程式中存放資料的矩陣
21樓:愛冪不離不棄
經測試,程式如下:
[m,n]=size(p);
p1=cell(m,1);
for i=1:m
a=p(i,:);
p1=['abc ' num2str(a,'%.4f, ') ' def'];
endp=p1
22樓:匿名使用者
程式如下:
[m,n]=size(p);
p1=cell(m,1);
for i=1:m
a=p(i,:);
p1=['abc ' num2str(a,'%.4f, ') ' def'];
endp=p1
23樓:匿名使用者
2中方法:
1,a %注意變數a後面沒有「;」號,即可輸出
2,disp(a)
matlab如何將輸出資料儲存在矩陣中
xlswrite函式 以矩陣a 1 2 3 4 5 6 7 8 為例進行介紹例1 將資料輸入到指定excel中,不指定工作薄,不指定單元格位置在matlab主視窗中輸入xlswrite 1.xlsx a 回車,我們就會看到excel 1.xlsx中,sheet1中如下內容 matlab 如何將輸出資...
C 怎麼把程式輸出的資料寫入中
函式名 freopen 標頭檔案 cstdio 返回值 成功,則返回乙個path所指定的檔案的指標。失敗,返回null。一般都不使用它的返回值 功能 簡單說,就是實現重定向。把預定義的幾個標準流檔案 stdin,stdout,stderr 定向到由path指定的檔案中。在主函式最開頭寫 freope...
matlab中如何對一組資料進行fft變換後得到頻譜圖
1 直接對其使用來ceil函式,源 可以向上取整 即大於等於給定數bai據的最du小整數。2 使用zhifloor函式可以進行向下取dao整。如圖,將矩陣a中的每個元素取小於等於該元素的最大整數。3 使用fix函式則可以去除小數部分。對於大於0的元素相當於floor,對於小於0的元素相當於ceil。...