clc; clear all; %% %第一题 x1 = [2, 6, 11, 5, 9, 12]; r = roots(x1); r %r2 = poly(r); %r2 %% %第二题 r3 = [-5, 3, 8, 9]; p = poly(r3); p %% %第三题 x11 = [2, 3, 4, 5]; x22 = [4, 5, 6, 7]; fun(x11, x22, '+'); fun(x11, x22, '-'); %% %第四题 fun2('C:\Users\hurricane\Desktop\matlab在电子信息中的应用\zjw.png','C:\Users\hurricane\Desktop\matlab在电子信息中的应用\zjw2.png')
%%
%函数部分
%1.实现两个多项式进行加减操作 function fun(x1, x2, a) c1 = length(x1); c2 = length(x2); if(c1 > c2) c3 = c1 - c2; x2 = [zeros(1,c3), x2]; else if(c2 > c1) c3 = c2 - c1; x1 = [zeros(1,c3), x1]; end end if(a == '+') res = x1 + x2; else if(a == '-') res = x1 - x2; end end x1 x2 res end %% %2.实现横向2倍放大,纵向500个像素
function fun2(address1, address2)
%读取图像
img = imread(address1);
%提取图像三通道信息 R = img(:,:,1); G = img(:,:,2); B = img(:,:,3); before = size(img); before figure(1);
imshow(uint8(img));
%记录长宽和通道
[r c z] = size(img);
%原尺寸 width = 1:c;
depth = 1:r;
%尺寸变换
w = linspace(1,c,2*c);%横向变化
d = linspace(1,r,500);%纵向变化
%每个通道都进行尺寸变换
%函数参数:
%1.原x,
%2.原y,
%3.对应已知点上的数据,
%4.变化后的x,
%5.变化后的y;
R = interp2(width,depth',double(R),w,d'); G = interp2(width,depth',double(G),w,d');
B = interp2(width,depth',double(B),w,d');
%生成尺寸变换后的彩色图 src(:,:,1) = R; src(:,:,2) = G; src(:,:,3) = B; after = size(src); after figure(2);
imshow(uint8(src));
%保存图像
imwrite(src, address2); end