【MATLAB习题】工程测试时域、频域分析



代码:
classdef App_uoye < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
LabelNumericEditField matlab.ui.control.Label
f1 matlab.ui.control.NumericEditField
LabelNumericEditField2 matlab.ui.control.Label
f2 matlab.ui.control.NumericEditField
LabelNumericEditField3 matlab.ui.control.Label
f3 matlab.ui.control.NumericEditField
Label3 matlab.ui.control.Label
Label5 matlab.ui.control.Label
Label6 matlab.ui.control.Label
LabelNumericEditField4 matlab.ui.control.Label
A1 matlab.ui.control.NumericEditField
LabelNumericEditField5 matlab.ui.control.Label
A2 matlab.ui.control.NumericEditField
LabelNumericEditField6 matlab.ui.control.Label
A3 matlab.ui.control.NumericEditField
LabelNumericEditField8 matlab.ui.control.Label
theta2 matlab.ui.control.NumericEditField
LabelNumericEditField9 matlab.ui.control.Label
theta3 matlab.ui.control.NumericEditField
LabelNumericEditField10 matlab.ui.control.Label
theta1 matlab.ui.control.NumericEditField
Label7 matlab.ui.control.Label
Label8 matlab.ui.control.Label
Label9 matlab.ui.control.Label
Button matlab.ui.control.Button
Label matlab.ui.control.Label
Label2 matlab.ui.control.Label
LabelNumericEditField11 matlab.ui.control.Label
fengzhi matlab.ui.control.NumericEditField
LabelNumericEditField12 matlab.ui.control.Label
fengfengzhi matlab.ui.control.NumericEditField
LabelNumericEditField13 matlab.ui.control.Label
junzhi matlab.ui.control.NumericEditField
LabelNumericEditField14 matlab.ui.control.Label
youxiaozhi matlab.ui.control.NumericEditField
LabelNumericEditField15 matlab.ui.control.Label
pinlv matlab.ui.control.NumericEditField
LabelNumericEditField16 matlab.ui.control.Label
zhouqi matlab.ui.control.NumericEditField
Button2 matlab.ui.control.Button
Button3 matlab.ui.control.Button
Button4 matlab.ui.control.Button
Button5 matlab.ui.control.Button
Button6 matlab.ui.control.Button
ax1 matlab.ui.control.UIAxes
ax2 matlab.ui.control.UIAxes
ax3 matlab.ui.control.UIAxes
ax5 matlab.ui.control.UIAxes
ax4 matlab.ui.control.UIAxes
ax6 matlab.ui.control.UIAxes
ax7 matlab.ui.control.UIAxes
ax8 matlab.ui.control.UIAxes
ax9 matlab.ui.control.UIAxes
ax10 matlab.ui.control.UIAxes
end
properties (Access = private)
% Description
p double
q double
n double% Description
y double % Description
N double % Description
Fs double % Description
t % Description
T % Description
end
% Callbacks that handle component events
methods (Access = private)
% Code that executes after component creation
function startupFcn(app)
%频率分量
app.f1.Value=100;
app.f2.Value=200;
app.f3.Value=300;
%幅值分量
app.A1.Value=1;
app.A2.Value=2;
app.A3.Value=3;
%matlab 默认弧度制
%相位分量
app.theta1.Value=0;
app.theta2.Value=pi/6;
app.theta3.Value=pi/3;
end
% Button pushed function: Button
function ButtonButtonPushed(app, event)
% 获得一组数字信号
app.Fs=5120; %采样频率
dt=1.0/app.Fs; %采样时间间隔
app.N=1024; %样点个数
app.T=dt*app.N; %采样时段
app.t=linspace(0,app.T,app.N); %时域图形的横坐标
%得到正弦信号 y
app.y=app.A1.Value*sin(2*pi*app.f1.Value*app.t+app.theta1.Value)+app.A2.Value*sin(2*pi*app.f2.Value*app.t+app.theta2.Value)+...
app.A3.Value*sin(2*pi*app.f3.Value*app.t+app.theta3.Value); %正弦信号
%信号分析
app.fengzhi.Value=max(app.y);
app.fengfengzhi.Value=max(app.y)-min(app.y);
app.junzhi.Value=mean(app.y);
app.youxiaozhi.Value=rms(app.y);
%频率分析
app.p=max(app.y);
app.q=min(app.y);
app.n=1;
at=0.8*(app.p-app.q)+app.q;%原理:过零检测
i=1;
for k=2:1:app.N-2
if(app.y(k-1)<at&&app.y(k)<=at&&app.y(k+1)>at&&app.y(k+2)>at)
ti(i)=k;
i=i+1;
end
end
app.zhouqi.Value=(ti(2)-ti(1))*dt;
app.pinlv.Value=1/app.zhouqi.Value;
%输出时域信号 ()
plot(app.ax1,app.t,app.y);
drawnow;
pause(0.05);
end
% Button pushed function: Button2
function Button2ButtonPushed(app, event)
N1=1024;
Nfft=N1;
n1=0:N1-1;
t1=n1/app.Fs;%采用的时间序列
xn=app.A1.Value*sin(2*pi*app.f1.Value*t1+app.theta1.Value)+app.A2.Value*cos(2*pi*app.f2.Value*t1+app.theta2.Value)...
+app.A3.Value*sin(2*pi*app.f3.Value*t1+app.theta3.Value);
P=10*log10(abs(fft(xn,Nfft).^2)/N1);%Fourier 振幅谱平方的平均值,并转化为 dB
f=(0:length(P)-1)*app.Fs/length(P);%给出频率序列
plot(app.ax3,f(1:N1/2),P(1:N1/2));
Pxx=abs(fft(xn,Nfft).^2)/N1;%Fourier 振幅谱平方的平均值,并转化为 dB
f=(0:length(Pxx)-1)*app.Fs/length(Pxx);%给出频率序列
plot(app.ax7,f(1:N1/2),Pxx(1:N1/2));%绘制功率谱曲线
% std(Pxx)^2;
drawnow
pause(2)
end
% Button pushed function: Button3
function Button3ButtonPushed(app, event)
%生成高斯白噪声
x11=wgn(1,app.N,10);
x1=1:app.N;
plot(app.ax4,x1,x11);
s=xcorr(x11,app.y);
x4=linspace(0,2*app.T,2*app.N-1);%互相关分析
plot(app.ax5,x4,s);
drawnow ;
pause(1);
end
% Button pushed function: Button4
function Button4ButtonPushed(app, event)
P=fft(app.y,app.N); %快速傅里叶变换
Pyy =2*sqrt(P.* conj(P))/app.N; %模值除以 N/2
Pyy(1)= Pyy(1)/2; %第一个点模值除以 N
f=linspace(0,app.Fs/2,app.N/2); %频域图形的横坐标
plot(app.ax2,f,Pyy(1:app.N/2)); %绘制频域波形
drawnow
pause(2)
end
% Button pushed function: Button5
function Button5ButtonPushed(app, event)
n8=0:app.N-1;
ffty=fft(app.y,app.N); %对信号进行快速 Fourier 变换
mag=abs(ffty); %求取 Fourier 变换的振幅
f89=n8*app.Fs/app.N;
plot(app.ax6,f89,mag); %绘出随频率变化的振幅
ph=2*angle(ffty(1:app.N/2));
ph=ph*180/pi;
plot(app.ax8,f89(1:app.N/2),ph(1:app.N/2));
drawnow;
pause(2);
end
% Button pushed function: Button6
function Button6ButtonPushed(app, event)
N6=length(app.y);
if mod(N6,2)==0
k=-N6/2:N6/2-1;
else
k=-(N6-1)/2:(N6-1)/2;
end
T1=N6/app.Fs;
Range=k/T1;
Doain=fft(app.y)/app.N;
Doain=fftshift(Doain);
CnR=real(Doain);
CnI=imag(Doain);
plot(app.ax9,Range,CnR)
plot(app.ax10,Range,CnI)
drawnow;
pause(1)
end
end
% Component initialization
methods (Access = private)
% Create UIFigure and components
function createComponents(app)
% Create UIFigure and hide until all components are created
app.UIFigure = uifigure('Visible', 'off');
app.UIFigure.Position = [101 101 1407 714];
app.UIFigure.Name = 'UI Figure';
% Create LabelNumericEditField
app.LabelNumericEditField = uilabel(app.UIFigure);
app.LabelNumericEditField.HorizontalAlignment = 'right';
app.LabelNumericEditField.VerticalAlignment = 'top';
app.LabelNumericEditField.Position = [1226 404 20 15];
app.LabelNumericEditField.Text = 'f1';
% Create f1
app.f1 = uieditfield(app.UIFigure, 'numeric');
app.f1.Position = [1261 400 100 22];
% Create LabelNumericEditField2
app.LabelNumericEditField2 = uilabel(app.UIFigure);
app.LabelNumericEditField2.HorizontalAlignment = 'right';
app.LabelNumericEditField2.VerticalAlignment = 'top';
app.LabelNumericEditField2.Position = [1226 368 20 15];
app.LabelNumericEditField2.Text = 'f2';
% Create f2
app.f2 = uieditfield(app.UIFigure, 'numeric');
app.f2.Position = [1261 364 100 22];
% Create LabelNumericEditField3
app.LabelNumericEditField3 = uilabel(app.UIFigure);
app.LabelNumericEditField3.HorizontalAlignment = 'right';
app.LabelNumericEditField3.VerticalAlignment = 'top';
app.LabelNumericEditField3.Position = [1226 337 20 15];
app.LabelNumericEditField3.Text = 'f3';
% Create f3
app.f3 = uieditfield(app.UIFigure, 'numeric');
app.f3.Position = [1261 333 100 22];
% Create Label3
app.Label3 = uilabel(app.UIFigure);
app.Label3.VerticalAlignment = 'top';
app.Label3.Position = [1372 368 20 15];
app.Label3.Text = 'Hz';
% Create Label5
app.Label5 = uilabel(app.UIFigure);
app.Label5.VerticalAlignment = 'top';
app.Label5.Position = [1372 403 20 15];
app.Label5.Text = 'Hz';
% Create Label6
app.Label6 = uilabel(app.UIFigure);
app.Label6.VerticalAlignment = 'top';
app.Label6.Position = [1372 337 20 15];
app.Label6.Text = 'Hz';
% Create LabelNumericEditField4
app.LabelNumericEditField4 = uilabel(app.UIFigure);
app.LabelNumericEditField4.HorizontalAlignment = 'right';
app.LabelNumericEditField4.VerticalAlignment = 'top';
app.LabelNumericEditField4.Position = [1226 303 20 15];
app.LabelNumericEditField4.Text = 'A1';
% Create A1
app.A1 = uieditfield(app.UIFigure, 'numeric');
app.A1.Position = [1261 299 100 22];
% Create LabelNumericEditField5
app.LabelNumericEditField5 = uilabel(app.UIFigure);
app.LabelNumericEditField5.HorizontalAlignment = 'right';
app.LabelNumericEditField5.VerticalAlignment = 'top';
app.LabelNumericEditField5.Position = [1226 270 20 15];
app.LabelNumericEditField5.Text = 'A2';
% Create A2
app.A2 = uieditfield(app.UIFigure, 'numeric');
app.A2.Position = [1261 266 100 22];
% Create LabelNumericEditField6
app.LabelNumericEditField6 = uilabel(app.UIFigure);
app.LabelNumericEditField6.HorizontalAlignment = 'right';
app.LabelNumericEditField6.VerticalAlignment = 'top';
app.LabelNumericEditField6.Position = [1226 237 20 15];
app.LabelNumericEditField6.Text = 'A3';
% Create A3
app.A3 = uieditfield(app.UIFigure, 'numeric');
app.A3.Position = [1261 233 100 22];
% Create LabelNumericEditField8
app.LabelNumericEditField8 = uilabel(app.UIFigure);
app.LabelNumericEditField8.HorizontalAlignment = 'right';
app.LabelNumericEditField8.VerticalAlignment = 'top';
app.LabelNumericEditField8.Position = [1208 170 38 15];
app.LabelNumericEditField8.Text = 'Theta2';
% Create theta2
app.theta2 = uieditfield(app.UIFigure, 'numeric');
app.theta2.Position = [1261 166 100 22];
% Create LabelNumericEditField9
app.LabelNumericEditField9 = uilabel(app.UIFigure);
app.LabelNumericEditField9.HorizontalAlignment = 'right';
app.LabelNumericEditField9.VerticalAlignment = 'top';
app.LabelNumericEditField9.Position = [1208 139 38 15];
app.LabelNumericEditField9.Text = 'Theta3';
% Create theta3
app.theta3 = uieditfield(app.UIFigure, 'numeric');
app.theta3.Position = [1261 135 100 22];
% Create LabelNumericEditField10
app.LabelNumericEditField10 = uilabel(app.UIFigure);
app.LabelNumericEditField10.HorizontalAlignment = 'right';
app.LabelNumericEditField10.VerticalAlignment = 'top';
app.LabelNumericEditField10.Position = [1208 206 38 15];
app.LabelNumericEditField10.Text = 'Theta1';
% Create theta1
app.theta1 = uieditfield(app.UIFigure, 'numeric');
app.theta1.Position = [1261 202 100 22];
% Create Label7
app.Label7 = uilabel(app.UIFigure);
app.Label7.VerticalAlignment = 'top';
app.Label7.Position = [1372 205 20 15];
app.Label7.Text = 'rad';
% Create Label8
app.Label8 = uilabel(app.UIFigure);
app.Label8.VerticalAlignment = 'top';
app.Label8.Position = [1372 170 20 15];
app.Label8.Text = 'rad';
% Create Label9
app.Label9 = uilabel(app.UIFigure);
app.Label9.VerticalAlignment = 'top';
app.Label9.Position = [1372 139 20 15];
app.Label9.Text = 'rad';
% Create Button
app.Button = uibutton(app.UIFigure, 'push');
app.Button.ButtonPushedFcn = createCallbackFcn(app, @ButtonButtonPushed, true);
app.Button.HorizontalAlignment = 'left';
app.Button.Position = [1071 101 100 22];
app.Button.Text = '1. 进行时域分析';
% Create Label
app.Label = uilabel(app.UIFigure);
app.Label.VerticalAlignment = 'top';
app.Label.FontSize = 14;
app.Label.Position = [1096 346 84 18];
app.Label.Text = '时域分析结果';
% Create Label2
app.Label2 = uilabel(app.UIFigure);
app.Label2.HorizontalAlignment = 'center';
app.Label2.VerticalAlignment = 'top';
app.Label2.FontSize = 14;
app.Label2.Position = [1289 431 56 18];
app.Label2.Text = '参数输入';
% Create LabelNumericEditField11
app.LabelNumericEditField11 = uilabel(app.UIFigure);
app.LabelNumericEditField11.HorizontalAlignment = 'right';
app.LabelNumericEditField11.VerticalAlignment = 'top';
app.LabelNumericEditField11.Position = [1053 321 24 15];
app.LabelNumericEditField11.Text = '峰值';
% Create fengzhi
app.fengzhi = uieditfield(app.UIFigure, 'numeric');
app.fengzhi.Position = [1092 317 100 22];
% Create LabelNumericEditField12
app.LabelNumericEditField12 = uilabel(app.UIFigure);
app.LabelNumericEditField12.HorizontalAlignment = 'right';
app.LabelNumericEditField12.VerticalAlignment = 'top';
app.LabelNumericEditField12.Position = [1041 254 36 15];
app.LabelNumericEditField12.Text = '峰峰值';
% Create fengfengzhi
app.fengfengzhi = uieditfield(app.UIFigure, 'numeric');
app.fengfengzhi.Position = [1092 250 100 22];
% Create LabelNumericEditField13
app.LabelNumericEditField13 = uilabel(app.UIFigure);
app.LabelNumericEditField13.HorizontalAlignment = 'right';
app.LabelNumericEditField13.VerticalAlignment = 'top';
app.LabelNumericEditField13.Position = [1053 187 24 15];
app.LabelNumericEditField13.Text = '均值';
% Create junzhi
app.junzhi = uieditfield(app.UIFigure, 'numeric');
app.junzhi.Position = [1092 183 100 22];
% Create LabelNumericEditField14
app.LabelNumericEditField14 = uilabel(app.UIFigure);
app.LabelNumericEditField14.HorizontalAlignment = 'right';
app.LabelNumericEditField14.VerticalAlignment = 'top';
app.LabelNumericEditField14.Position = [1041 288 36 15];
app.LabelNumericEditField14.Text = '有效值';
% Create youxiaozhi
app.youxiaozhi = uieditfield(app.UIFigure, 'numeric');
app.youxiaozhi.Position = [1092 284 100 22];
% Create LabelNumericEditField15
app.LabelNumericEditField15 = uilabel(app.UIFigure);
app.LabelNumericEditField15.HorizontalAlignment = 'right';
app.LabelNumericEditField15.VerticalAlignment = 'top';
app.LabelNumericEditField15.Position = [1053 222 24 15];
app.LabelNumericEditField15.Text = '频率';
% Create pinlv
app.pinlv = uieditfield(app.UIFigure, 'numeric');
app.pinlv.Position = [1092 218 100 22];
% Create LabelNumericEditField16
app.LabelNumericEditField16 = uilabel(app.UIFigure);
app.LabelNumericEditField16.HorizontalAlignment = 'right';
app.LabelNumericEditField16.VerticalAlignment = 'top';
app.LabelNumericEditField16.Position = [1053 151 24 15];
app.LabelNumericEditField16.Text = '周期';
% Create zhouqi
app.zhouqi = uieditfield(app.UIFigure, 'numeric');
app.zhouqi.Position = [1092 147 100 22];
% Create Button2
app.Button2 = uibutton(app.UIFigure, 'push');
app.Button2.ButtonPushedFcn = createCallbackFcn(app, @Button2ButtonPushed, true);
app.Button2.HorizontalAlignment = 'left';
app.Button2.Position = [1189 64 100 22];
app.Button2.Text = '4. 功率谱分析';
% Create Button3
app.Button3 = uibutton(app.UIFigure, 'push');
app.Button3.ButtonPushedFcn = createCallbackFcn(app, @Button3ButtonPushed, true);
app.Button3.HorizontalAlignment = 'left';
app.Button3.Position = [1189 27 100 22];
app.Button3.Text = '6. 互相关分析';
% Create Button4
app.Button4 = uibutton(app.UIFigure, 'push');
app.Button4.ButtonPushedFcn = createCallbackFcn(app, @Button4ButtonPushed, true);
app.Button4.HorizontalAlignment = 'left';
app.Button4.Position = [1072 64 100 22];
app.Button4.Text = '2. 频域波形图';
% Create Button5
app.Button5 = uibutton(app.UIFigure, 'push');
app.Button5.ButtonPushedFcn = createCallbackFcn(app, @Button5ButtonPushed, true);
app.Button5.HorizontalAlignment = 'left';
app.Button5.Position = [1186 101 107 22];
app.Button5.Text = '3. 振幅-相位谱分析';
% Create Button6
app.Button6 = uibutton(app.UIFigure, 'push');
app.Button6.ButtonPushedFcn = createCallbackFcn(app, @Button6ButtonPushed, true);
app.Button6.Position = [1072 27 100 22];
app.Button6.Text = '5. 实频虚频分析';
% Create ax1
app.ax1 = uiaxes(app.UIFigure);
title(app.ax1, '时域波形分析')
xlabel(app.ax1, 't')
ylabel(app.ax1, 'Signal')
app.ax1.XGrid = 'on';
app.ax1.YGrid = 'on';
app.ax1.GridAlpha = 0.15;
app.ax1.MinorGridAlpha = 0.25;
app.ax1.Box = 'on';
app.ax1.Position = [1 45 344 210];
% Create ax2
app.ax2 = uiaxes(app.UIFigure);
title(app.ax2, '频域波形图')
xlabel(app.ax2, 'w')
ylabel(app.ax2, 'A')
app.ax2.XGrid = 'on';
app.ax2.YGrid = 'on';
app.ax2.GridAlpha = 0.15;
app.ax2.MinorGridAlpha = 0.25;
app.ax2.Box = 'on';
app.ax2.Position = [687 266 344 210];
% Create ax3
app.ax3 = uiaxes(app.UIFigure);
title(app.ax3, '功率谱(dB)')
xlabel(app.ax3, '频率/Hz')
ylabel(app.ax3, '功率谱/dB')
app.ax3.XGrid = 'on';
app.ax3.YGrid = 'on';
app.ax3.GridAlpha = 0.15;
app.ax3.MinorGridAlpha = 0.25;
app.ax3.Box = 'on';
app.ax3.Position = [344 48 344 210];
% Create ax5
app.ax5 = uiaxes(app.UIFigure);
title(app.ax5, '互相关分析')
xlabel(app.ax5, 'X')
ylabel(app.ax5, 'Y')
app.ax5.XGrid = 'on';
app.ax5.YGrid = 'on';
app.ax5.GridAlpha = 0.15;
app.ax5.MinorGridAlpha = 0.25;
app.ax5.Box = 'on';
app.ax5.Position = [344 267 344 210];
% Create ax4
app.ax4 = uiaxes(app.UIFigure);
title(app.ax4, '高斯白噪声')
xlabel(app.ax4, 'X')
ylabel(app.ax4, 'Y')
app.ax4.XGrid = 'on';
app.ax4.YGrid = 'on';
app.ax4.GridAlpha = 0.15;
app.ax4.MinorGridAlpha = 0.25;
app.ax4.Box = 'on';
app.ax4.Position = [676 493 344 210];
% Create ax6
app.ax6 = uiaxes(app.UIFigure);
title(app.ax6, '幅值谱')
xlabel(app.ax6, '频率/Hz')
ylabel(app.ax6, '幅值')
app.ax6.XGrid = 'on';
app.ax6.YGrid = 'on';
app.ax6.GridAlpha = 0.15;
app.ax6.MinorGridAlpha = 0.25;
app.ax6.Box = 'on';
app.ax6.Position = [1 490 344 210];
% Create ax7
app.ax7 = uiaxes(app.UIFigure);
title(app.ax7, '功率谱周期图 N=1024')
xlabel(app.ax7, '频率/Hz')
ylabel(app.ax7, '功率谱')
app.ax7.XGrid = 'on';
app.ax7.YGrid = 'on';
app.ax7.GridAlpha = 0.15;
app.ax7.MinorGridAlpha = 0.25;
app.ax7.Box = 'on';
app.ax7.Position = [687 45 344 210];
% Create ax8
app.ax8 = uiaxes(app.UIFigure);
title(app.ax8, '相位谱')
xlabel(app.ax8, '频率/Hz')
ylabel(app.ax8, '相角')
app.ax8.XGrid = 'on';
app.ax8.YGrid = 'on';
app.ax8.GridAlpha = 0.15;
app.ax8.MinorGridAlpha = 0.25;
app.ax8.Box = 'on';
app.ax8.Position = [1053 490 344 210];
% Create ax9
app.ax9 = uiaxes(app.UIFigure);
title(app.ax9, '实频谱')
xlabel(app.ax9, '频率/Hz')
ylabel(app.ax9, 'CnR')
app.ax9.XGrid = 'on';
app.ax9.YGrid = 'on';
app.ax9.GridAlpha = 0.15;
app.ax9.MinorGridAlpha = 0.25;
app.ax9.Box = 'on';
app.ax9.Position = [344 493 344 210];
% Create ax10
app.ax10 = uiaxes(app.UIFigure);
title(app.ax10, '虚频谱')
xlabel(app.ax10, '频率/Hz')
ylabel(app.ax10, 'CnI')
app.ax10.XGrid = 'on';
app.ax10.YGrid = 'on';
app.ax10.GridAlpha = 0.15;
app.ax10.MinorGridAlpha = 0.25;
app.ax10.Box = 'on';
app.ax10.Position = [1 266 344 210];
% Show the figure after all components are created
app.UIFigure.Visible = 'on';
end
end
% App creation and deletion
methods (Access = public)
% Construct app
function app = App_uoye
% Create UIFigure and components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.UIFigure)
% Execute the startup function
runStartupFcn(app, @startupFcn)
if nargout == 0
clear app
end
end
% Code that executes before app deletion
function delete(app)
% Delete UIFigure when app is deleted
delete(app.UIFigure)
end
end
end
【MATLAB习题】工程测试时域、频域分析的更多相关文章
- JMeter 压测基础(四)——Java工程测试
JMeter Java工程测试 1.eclipse中新建工程 2.导入需要的jar包 从JMeter安装目录lib/ext中两个jar包buildPath到Java project中,分别是“Apac ...
- Ubuntu caffe 测试matlab接口
这是17年8月份新增的: make matcaffe error 255解决:在Makefile里面,大约第410行那一句话CXXFLAGS += -MMD -MP下面添加CXXFLAGS += -s ...
- MATLAB介绍
MATLAB MATLAB[1] 是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink ...
- 杂项-数学软件:MATLAB
ylbtech-杂项-数学软件:MATLAB MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATL ...
- FPGA与simulink联合实时环路系列——实验一 测试
实验一 测试 实验内容 在simulink创建测试模块,通过测试模块产生信号,再传送到FPGA,FPGA读出后再将信号无处理传送回simulink进行显示.由此来测试整个硬件在环的功能是否正常,并且熟 ...
- matlab 2012 vs2010混合编程
电脑配置: 操作系统:window 8.1 Matlab 2012a安装路径:D:\Program Files\MATLAB\R2012a VS2010 : OpenCV 2.4.3:D:\Progr ...
- Matlab与C/C++联合编程之Matlab以MEX方式调用C/C++代码(四)
利用Matlab与VC++联合编程,既可在C语言程序中打开Matlab引擎,调用Matlab的ToolBox函数和作图函数,也可在Matlab中调用C代码生成的动态链接库文件,用以加快执行速度.缩短开 ...
- matlab与vs混合编程/matlab移植
前言 项目算法中包含了不同编译工具的代码,分别是matlab和VS,需要将二者结合起来,统一在同一个系统工作,此时就要用到matlab和vs混合编程. 在matlab中将.m文件编译生成库文件等供外部 ...
- VS2015调用matlab Plot函数
最近经常采用Matlab仿真,然后C语言实现,最后需要将计算结果使用Qt的qwt或者matlab中的plot函数绘图. 因此想借用matlab的plot函数接口,使用VS2015来编写信号处理代码,最 ...
- Qt 工程 pro文件
工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下.于此备录,分享共勉. 为了更好的理解,先创建一个简单的工程作为实践. [1]创建一个pro文件 1.1 新建proDemo工程.步骤如下: ...
随机推荐
- Hive数据库【操作】+ 【分区】+【分桶】+【查询】+【运算】+【函数】
目录 键值对信息 数据库表操作 内部表操作 外部表操作 分区表的操作 分桶表操作 数据查询 关系运算 数学运算 逻辑运算 数值计算 日期函数 键值对信息 添加数据库的描述信息(添加键值对信息) cre ...
- 在linu系统安装apache全过程(httpd、apr、apr-util、pcre)以及进行相应配置
1.下载安装包,需要下面3个安装包[root@bes2 apache]# ll总用量 8520-rw-r--r--. 1 root root 1020833 9月 18 17:47 apr-1.5.1 ...
- Qt/C++地图导航app/支持qml/手机运行/输入起点终点规划路径/模拟轨迹移动
一.前言说明 搞Qt地图开发这块,随着研究的深入,用户的需求变化,最近又需要在手机上运行,由于本地图组件依赖浏览器控件,而手机安卓上的Qt并没有带qwebengine控件,怎么办呢,不断的努力验证下, ...
- 有道云笔记默认的笔记格式转markdown
目录 0. 前言 1. 有道云笔记自带的笔记格式转markdown的方案 1.1 pdf => md 1.2 pdf => word => md 2. Markdown技巧 2.1 ...
- 深入Python胶水语言的本质:从CPython到各类扩展机制
在开始深入讲解Python如何作为胶水语言之前,我们需要先了解Python语言本身的实现机制.这对于理解Python如何与C语言交互至关重要. CPython:Python的默认实现 当我们谈论Pyt ...
- .net core 3.x 发布单文件
.翻译自:https://github.com/dotnet/designs/blob/master/accepted/2020/single-file/staging.md NET Core 3.0 ...
- MSM8953/SDM450 去PMI的USB3.0 TYPE-C Micro USB OTG功能适配
提前说明一下有哪些"坑". 1.PM8953 GPIO_8的TZ权限 2.PM8953 GPIO_8寄存器的写入保护 3.去掉高通默认的ID检测 4.增加dwc3的ID检测 5.增 ...
- 函数 | Go语言
函数 不支持命名参数与默认值 可变参数 求多个int的和 func IntSum(x ...int) { sum := 0 for _, v := range x { sum += v } retur ...
- Dynamic CRM插件程序集中引入第三方dll合并打包
有时候 在插件程序集不可避免的需要使用第三方的dlll 但crm插件平台注册时 只能注册一个dll 即项目自身的dll 第三方的dll无法正常在注册后使用 查找官方资料 找到如下方法 合并打包成一个d ...
- WPF中webview2鼠标移动窗体
WPF里webview2会一直处于其他控件最上层,是个历史遗留问题. 为了能在webview2里鼠标移动让窗体跟着移动位置代码如下: async Task InitializeAsync() { Ap ...