包含matlab实验过程原代码的词条
admin 发布:2022-12-20 00:04 153
今天给各位分享matlab实验过程原代码的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、急求MATLAB编程源代码用四阶龙格库塔法解如下微分方程 y'=y-2x/y(0
- 2、数学实验 matlab的准确编写代码
- 3、在matlab中IntLp函数的源代码
- 4、(13,9)循环码的MATLAB语言程序,跪求大神,要能运行的
- 5、急求MATLAB实验代码
- 6、matlab做fft实验代码
急求MATLAB编程源代码用四阶龙格库塔法解如下微分方程 y'=y-2x/y(0
% 以下另存为文件 myrk4.m
function [x,y]=myrk4(ufunc,y0,h,a,b)
%参数: 函数名称,初始值向量,步长,时间起点,时间终点
n=floor((b-a)/h);%求步数
x(1)=a;%时间起点
y(:,1)=y0;%赋初值
%按龙格库塔方法进行求解
for ii=1:n
x(ii+1)=x(ii)+h;
k1=ufunc(x(ii),y(:,ii));
k2=ufunc(x(ii)+h/2,y(:,ii)+h*k1/2);
k3=ufunc(x(ii)+h/2,y(:,ii)+h*k2/2);
k4=ufunc(x(ii)+h,y(:,ii)+h*k3);
y(:,ii+1)=y(:,ii)+h*(k1+2*k2+2*k3+k4)/6;
end
以下是主程序
% y'=y-2x/y (0x1),y(0)=1,步长为h=0.2
fun = inline('y-2*x/y');
[t1,f1]=myrk4(fun,1,0.2,0,1);%测试时改变test_fun的函数维数,别忘记改变初始值的维数
subplot(211); plot(t1,f1) %自编函数
title('自编函数求解结果')
%用系统自带函数ode45进行比较
[t,f] = ode45(fun,[0 1],1);
subplot(212); plot(t,f);title('ode45求解结果')
数学实验 matlab的准确编写代码
% 首先可以构造网格数据,然后plot3绘图。
%
% 代码:
clc; clear all; close all;
% 构造x数据
x = linspace(-10, 10);
% 构造y数据
y = linspace(-10, 10);
% 生成网格数据
[x, y] = meshgrid(x, y);
% 计算z
z = x.^3+8*x.^2+5*x-2*x.*y.^2+y+4;
% 绘图
figure;
plot3(x, y, z, 'r-');
box on;
在matlab中IntLp函数的源代码
经查询,matlab不存在intlp这个函数
如果需要matlab中任意函数的源代码,可以在命令窗口中直接输入“type fun”其中fun为你想要查询的函数名
例如,需要查询“mean”函数(求均值函数),直接在命令窗口输入“type mean”,效果如下图所示
(13,9)循环码的MATLAB语言程序,跪求大神,要能运行的
1、循环码编码与解码Matlab源程序(实验以(7,4)循环码进行分析)
m
=
3;
n
=
2^m-1;
%定义码长
k
=
n-m;
%信息位长
msg
=
randint(k*4,1,2);
%随机提取信号,引起一致地分布的任意整数矩阵
subplot(2,2,1)
stem(msg)
title('编码器输入信号')
p=cyclpoly(n,k)
%循环码生成多项式,n=7,k=4
code
=
encode(msg,n,k,'cyclic',p);
%编码函数,对信号进行差错编码
subplot(2,2,2)
stem(code)
title('编码器输出信号')
recode=decode(code,n,k,'cyclic',p)
%对信号进行译码,对接收到的码字进行译码,恢复
出原始的信息,译码参数和方式必须和编码时采用的严格相同
subplot(2,2,3)
stem(recode)
title('译码器输出信号')
t=-1:0.01:1;
x=recode;
%将recode赋值给x,并进行长度与fft设定
N=length(x);
fx=fft(x);
df=100/N;
n=0:N/2;
f=n*df;
subplot(2,2,4);
plot(f,abs(fx(n+1))*2/N);
grid;
title('频谱图')
2、误码率与信噪比之间的关系程序(以(3,2)循环码进行测试)
m
=
2;
n
=
2^m-1;
%定义码长
k
=
n-m;
%信息位长
Fs=40;
%系统采样频率
Fd=1;
%码速率
N=Fs/Fd;
M=2;
%进制数
for
SNRpBit=1:100;%信噪比
SNR=SNRpBit/log2(M);
%制造100个信息组,每组k位
msg
=
randint(100,k,[0,1]);
code
=
encode(msg,n,k,'cyclic/binary');
%加入噪声
%在已调信号中加入高斯白噪声
noisycode=awgn(code,SNR-10*log10(0.5)-10*log10(N),'measured',[],'dB');
%将浮点数转化为二进制,波形整形过程
for
i=1:100
for
a=1:k+1
if
noisycode(i,a)0.5
noisycode(i,a)
=
0;
else
noisycode(i,a)
=
1;
end
end
end
%译码
newmsg
=
decode(noisycode,n,k,'cyclic');
%计算误码率
[number,ratio]=biterr(newmsg,msg);
result(SNRpBit)=ratio;
disp(['The
bit
error
rate
is',num2str(ratio)]);
end
%不同信噪比下循环码经过加性高斯白噪声信道的误码率
figure(1)
stem(result);
title('循环码在不同信噪比下的误码率')
legend('误码率','*')
xlabel('信噪比');
ylabel('在加性高斯白噪声下的误码率');
急求MATLAB实验代码
1,3都有峰值,频率都在2200.
2没有峰值。
采样条件:
采样频率fs:4096Hz
block length:2^13
(如果还要出psd图
还需要,平顶窗
50%overlapping)
matlab code:
clc
clear all
close all
N=2^13;
n=0:N-1;
fs=4096;
% xn=cos(100*pi*22*n/fs);
% xn=exp(-22*n/fs);
xn=exp(-22*n/fs).*cos(100*pi*22*n/fs);
X=fft(xn,N)/N*2;
df=fs/N;
f=0:df:fs-df;
semilogy(f,abs(X))
xlim([0 fs/2.56])
matlab做fft实验代码
% bi2de 操作得到的结果 bianzhi 超出了 x 的索引范围(应该=N)
% 检查 bi2de 的参数
关于matlab实验过程原代码和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:取置入代码地址(地址代码取几位)
- 下一篇:魔力宝贝服务端源代码(魔力宝贝客户端)
相关推荐
- 05-17包含bt磁力天堂torrentkitty的词条
- 05-13包含不要手贱搜这15个关键词的词条
- 05-09网页代码,网页代码快捷键
- 05-07包含seo牛人的词条
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
- 05-06在线html执行代码(html怎么运行)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接