1、plot函数
链接:
1、改变坐标轴刻度的显示数值.
2、matlab 设置坐标轴位置/方向 y轴反向
figure %重启打开另一个画布
plot(B,'r');%r表示红色,B表示变量
hold on; %保持在同一幅画中画图
plot(C,'b');%b表示蓝色,C表示变量
legend('sin','cos');%标注曲线
xlim([100 200]);%放大的横坐标
ylim([-1 1]);%放大的纵坐标
xlabel('fs/hz')%标注x轴坐标
%% 绘制相同大小的窗体,在word中粘贴后进行截图,输出的文字要比一般的大
figure(2)
x_500= randi([-3,3],1,300)*0.5;
plot(x_500,'b-*','linewidth',1.0);
xlabel('实验编号');
ylabel('距离/m');
%ylim([400 600]);
%xlim([1,10]);
%% 坐标参数设置,字体大小统一控制
xlabel( '\itf\rm_d/Hz', 'fontname', 'times new roman', 'fontsize', 24 );
ylabel( '\it\tau\rm/s', 'fontname', 'times new roman', 'fontsize', 24 );
zlabel( '\mid\it\chi\rm_B\mid/dB', 'fontname', 'times new roman', 'fontsize', 24 );
set( gca, 'fontname', 'times new roman', 'fontsize', 16, 'fontname',...
'times new roman', 'fontsize', 16, 'fontname', 'times new roman', 'fontsize', 16 );
set (gca,'position',[0.1,0.1,0.5,0.5] );%设置绘图在窗口中的位置
set(figure(3),'Position',[300,100,750,500]);%绘制信号窗体大小
set(figure(3),'Position',[300,300,600,300]);% 两个窗口大小
set(gca,'XTick',-pi:pi/2:pi);% 改变显示间距
set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'});%改变显示参数
%保存图片
fignamer=('CW模糊函数');
saveas(gcf,['D:\1per\personal_mi_20210118\tongx\cxy_tongx\CDMA\tu_20210327\LFM与CW\',fignamer,'.tiff'])
saveas(gcf,['D:\1per\personal_mi_20210118\tongx\cxy_tongx\CDMA\tu_20210327\LFM与CW\',fignamer,'.fig'])
2、文件保存或者画图中标注变量
【文件】命名包含变量
audiowrite(sprintf(‘mic_%d_%d.wav’,ii,pp),YY,fs);
【文件】c文件写入
stringName = [‘fileNameNum’,’.c’]
%stringName = [sprintf(‘mic_%d_%d.wav’,ii,pp)];
dlmwrite(stringName,codeNum);%codeNum是变量数据
【文件】c文件读取
stringName = [‘fileNameNum’,’.c’];
I_Code = 1;
stringName2 = [‘dateICode_’,num2str(I_Code),’.c’];
codeNum = dlmread(stringName);
【画图】变量做标题
stringName = [sprintf(‘mic_%d_%d.wav’,ii,pp)];
title(stringName);
3、读取bin文件,转为txt写文件
close all;
clear all;
clc;
filename_fusion = 'fusion.bin';
fp_fusion = fopen(filename_fusion, 'rb');
fusion = fread(fp_fusion,'double');%表示1行100列的数据读取
filename_posres = 'posres.bin';
fp_posres = fopen(filename_fusion, 'rb');
posres = fread(fp_posres,'double');%表示1行100列的数据读取
fidALL=fopen('fusion.txt','w');%写入文件路径
for jj=1:length(fusion)
fprintf(fidALL,'%1.9f\n',fusion(jj)); %按列输出,若要按行输出:fprintf(fid,'%.4\t',A(jj));
end
fidALL_posres=fopen('posres.txt','w');%写入文件路径
for jj=1:length(posres)
fprintf(fidALL_posres,'%1.9f\n',posres(jj)); %按列输出,若要按行输出:fprintf(fid,'%.4\t',A(jj));
end
fclose(fidALL);
fclose(fidALL_posres);
fclose(fp_fusion);
fclose(fp_posres);
4、读写mat文件
stringName = sprintf('Carrier_Phase_Errorr_%d.mat',prn_len);
FreqName = sprintf('Carrier_Freq_%d.mat',prn_len);
save(stringName,'Carrier_Phase_Errorr','-v7.3');
save(FreqName,'Carrier_Freq','-v7.3');
% mat文件存储方式
load(stringName,'Carrier_Phase_Errorr');
load(FreqName,'Carrier_Freq');
%% c文件读写方式
dlmwrite('sdin_20210419.c',din);%写入c文件
ttt = dlmread('sigSTM32_20210419.c');%写入c文件
5、数据生成中的技巧
数据x为[a,b]之间的数据,将数据转换至[-1,1],其中a为最小值,b为最大值
z = (2x-a-b)/(b-a)
t=0:1/fs:T-1/fs; %时间 实现横坐标由采样点数转为时间s,更改横坐标显示特点1:1000变为1:10s 其中(fs=100)
%% 产生+1至-1之间的数据 以及加入噪声
date=2*(rand(40000,1)-0.5);
X1 = date*4;
x1 = awgn(X1,SNR,'measured');%sqrt(2)*sin(0:pi/1000:6*pi);
ddin = awgn(Delay_ddin,SNR,'measured');