① 怎么用matlab设计系统超前矫正 其中超调量 调节时间 误差系数都有要求
几种方法: 1、利用控制系统工具箱的step求阶跃响应,然后通过鼠标操作在阶跃响应曲线上直接获取相关性能指标: 12G=tf(25,[1 4 25]);step(G) 注意调节时间的误差带以及上升时间的定义可以通过Properties对话框设置。 2、利用二阶系统的性能指标公式求,其中wn=5, zeta=0.4。 3、利用 [y,t]=step(G) 返回阶跃响应数据,再编写程序求响应的指标。这种做法最麻烦,没太有必要。
② 用matlab进行控制系统的滞后校正设计
用这个进行控制系统的滞后矫正设计,这个得看相关的一些操作说明。
③ 如何用matlab整自控滞后校正
常用的校正形式有串联超前校正、串联滞后校正、串联滞后-超前校正。每种方法都有 不同的适用范围,应当根据实际要求恰当的选择
④ matlab图像畸变校正
你自己看这一段
for i=1:h %从理想图像矩阵出发处理
for j=1:w
x=[1,j-og(1),i-og(2),(j-og(1))^2,(i-og(2))*(j-og(1)),(i-og(2))^2];
u=x*a0+og(2); % 逆向映射(j,i)到畸变图像矩阵(v,u)
v=x*b0+og(1);
if (u>1)&&(u<w)&&(v>1)&&(v<h) %处理在图像大小范围内的像素点
uu=floor(u); %对u取整
vv=floor(v); %对v取整
arf=u-uu; %计算上面提到的
bta=v-vv; %计算上面提到的
for k=1:3 %进行灰度双线性插值
ft1=(1-bta)*b(vv,uu,k)+bta*b(vv+1,uu,k);
ft2=(1-bta)*b(vv,uu+1,k)+bta*b(vv+1,uu+1,k);
sp(i,j,k)=(1-arf)*ft1+arf*ft2;
end
end
imshow(uint8(sp)); %显示校正图像
3个for加一个if,可只有2个end,程序都没写完当然出错。
——————————————————————————————————
然后还有这一段
for k=1:n%转换到以对称点为原点的空间关系并构造矩阵A
A(k)=[1,gm(k,1)-og(1),gm(k,2)-og(2),(gm(k,1)-og(1)^2), (gm(k,1)-og(1))*(gm(k,2)-og(2)),(gm(k,2)-og(2) ^2)];
end
A(k)是一个元素,可你却把它定义为一个数组,肯定也要出错。
————————————————————————————————
你要我改,我只能保证程序能运行,但对不对我无法保证。
function gmodify(pic,uv,gm,og) %pic表示要处理的图像的路径文件名
%uv是一个二维矩阵,uv(:,1)代表上面提到的,uv(:,2)表示
%gm是一个二维矩阵,gm(j,:)代表在校正图空间上与uv(j,:)一一应的点
%og 代表对称中心,它是一个二维向量
a=imread(pic);
b=double(a);
n=size(gm(:,1));
for k=1:n%转换到以对称点为原点的空间关系并构造矩阵A
A(k,:)=[1,gm(k,1)-og(1),gm(k,2)-og(2),(gm(k,1)-og(1)^2), (gm(k,1)-og(1))*(gm(k,2)-og(2)),(gm(k,2)-og(2) ^2)];
end
[h,w]=size(b(:,:,1));
sp=zeros(h,w,3)+255;
a0=pinv(A)* uv(:,2); %计算上面提到的地址映射的系数估计a
b0=pinv(A)* uv(:,1); %计算上面中提到的地址映射的系数估计b
for i=1:h %从理想图像矩阵出发处理
for j=1:w
x=[1,j-og(1),i-og(2),(j-og(1))^2,(i-og(2))*(j-og(1)),(i-og(2))^2];
u=x*a0+og(2); % 逆向映射(j,i)到畸变图像矩阵(v,u)
v=x*b0+og(1);
if (u>1)&&(u<w)&&(v>1)&&(v<h) %处理在图像大小范围内的像素点
uu=floor(u); %对u取整
vv=floor(v); %对v取整
arf=u-uu; %计算上面提到的
bta=v-vv; %计算上面提到的
for k=1:3 %进行灰度双线性插值
ft1=(1-bta)*b(vv,uu,k)+bta*b(vv+1,uu,k);
ft2=(1-bta)*b(vv,uu+1,k)+bta*b(vv+1,uu+1,k);
sp(i,j,k)=(1-arf)*ft1+arf*ft2;
end
end
end
end
imshow(uint8(sp)); %显示校正图像
⑤ matlab仿真校正
1.系统仿真时间:任务栏上面有个框,填入希望仿真的时间,默认10s 2.示波器方式一:在MATLAB工具栏中EDIT选 figure ,在到WORD中Ctrl+V就好(图像
⑥ 求解,并用matlab画图,解答后另有答谢
一般校正问题都会对系统的剪切频率(快速性)和开环增益(静差)两方面有所要求,而不是仅仅对稳定裕度提要求。
我们先来看一下校正前系统的稳定裕度:
%被控对象
s=zpk('s');
G0=40/(s*(0.2*s+1)*(0.0625*s+1));
%校正前系统的稳定裕度
margin(G0)
从阶跃响应的情况看,按照满足相角裕度的要求设计滞后校正网络,系统快速性较好,但不满足幅值裕度要求;如果按照满足幅值裕度要求降低增益,则相角裕度偏大,无需设计校正网络,但系统为非周期响应,无超调,系统结构简单,更为可取。
总结起来,这道题的指标形式本身就比较蹊跷(没有对剪切频率和开环增益的要求),而指标本身可能也存在问题(一般很少有严格要求相角裕度大小的,常见的是要求不小于某个值)。
⑦ 怎么用matlab校正非垂直角度拍摄的照片
怎么用matlab校正非垂直角度拍摄的照片
可以用RODAN法校正, 1. 先灰度化,求出图像尺寸[m n] = size(I); 2. theta = 0:180; R = radon(I, theta); 3. 求出图像中心点至边界的距离L = round((m/2).^2+(n/2).^2); [C,angle] = max(R(L,:)); angle=angle-1;%angle为图像倾斜角度 4. A = imrotate(I,angle,'bilinear'); imshow(A);%校正后图片