1樓:米缸狗
imageex(limage,heightx2,widthx2);
a=size(height,width);
b=zeros(m+h*2,n+w*2); %建立個擴充套件大小的0矩陣
b(h+1:h+m,w+1:w+n)=a(m,n); %將原矩陣填入中間位置
b(1:h,w+1:w+n)=a(1,:); %大矩陣的上面擴充套件行賦值為原矩陣的第一行
b(h+m+1:h*2+m)=a(m,:); %大矩陣的下面擴充套件行賦值為原矩陣的最後一行
b(h+1:h+m,1:w)=a(:,1); %大矩陣的左面擴充套件列賦值為原矩陣的最左一列
b(h+1:h+m,w+n+1:n+w*2)=a(:,n) %大矩陣的右面擴充套件列賦值為原矩陣的最右一列
%其中height替換為m
%width替換為n
%heightx2替換為h
%widthx2替換為w
2樓:
pascal(n)是矩陣實驗室(matrix laboratory)matlab中的命令,利用pascal()命令可以在矩陣實驗室中方便的得到任意階帕斯卡矩陣。設a為帕斯卡矩陣,則在matlab命令視窗中輸入a=pascal(n),n為正整數,可得到階數為n的帕斯卡矩陣。
const max=100;
var a:array[1..max,1..max]of longint;
n,i,j,sum,m,mm:longint;
begin
readln(n);
i:=1;j:=1;m:=n;mm:=1;
while sum<>n*n do beginfor i:=mm to m do begininc(sum);
a[i,j]:=sum;
if sum=n*n then break;
end;
for j:=mm+1 to m do begininc(sum);
a[i,j]:=sum;
if sum=n*n then break;
end;
for i:=m-1 downto mm do begininc(sum);
a[i,j]:=sum;
if sum=n*n then break;
end;
for j:=m-1 downto mm+1 do begininc(sum);
a[i,j]:=sum;
if sum=n*n then break;
end;
dec(m);inc(mm);
end;
for j:=1 to n do beginfor i:=1 to n do write(a[i,j]:4);
writeln;
end;
readln;
end.
3樓:眼哥眼妹
function b = matrixexpand(a)% 矩陣擴充套件
[m,n] = size(a);
b = zeros(m + 2,n + 2);
b(2 : m + 1,2 : n + 1) = a;
b(1,:) = b(2,:);
b(m + 2,:) = b(m + 1,:);
b(:,1) = b(:,2);
b(:,n + 2) = b(:,n + 1);
b([1,m + 2,1,m + 2],[1,1,n + 2,n + 2]) = 0;
以上是函式,儲存為.m檔案,再在matlab中執行>> a = [1 2;3 4];
>> b = matrixexpand(a)b =0 1 2 01 1 2 2
3 3 4 4
0 3 4 0
matlab求函式極值,matlab求函式的極值
你要求數值解還是解析解?就乍一看,後面那個積分存不存在還難說呢。matlab求函式的極值 x 10 y zeros numel x 1 for i 1 numel x y i sin i 2 cos i 2 endy min min y y max max y x min x find y y mi...
matlab索引超出矩陣維度怎麼解決
1 開啟matlab編輯器,用其進行 設計。2 使用length方便計算出未知矩陣中,行或列最大值,如果需要這種結果,就可以選用,如行數比列的大,就返回行的數目,反之返回列。3 接著介紹size,實際這一函式用法更靈活,幾乎可以獲得所需各種結果。這裡用一個變數,等於此函式執行結果,結果輸出為陣列形式...
用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 直接計算就行 ...