انجمن سایت کلیدستان


رتبه موضوع:
  • 1 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سوال : توضیح برای دستور axis در کد متلب نوشته شده

سوال : توضیح برای دستور axis در کد متلب نوشته شده

#1
سلام ، من کد متلبی دارم که در خطهای 27 تا 29 رو متوجه نمیشم ، ممنون میشم راهنمایی کنید.
کد:
v=axis;
v(2)=t(end);
axis(v)
ادمین : ممنون ، بالاخره تونستم کد رو کپی کنم ، از دکمه # استفاده کردم.
کد:
function [s,t] = cosineGenerator(A,f,sFreq,npts,phase)
% Usage: [s,t] = cosineGenerator(A,f,sFreq,npts,[phase=0])
%Function returns a time vector t and the corresponding harmonic (cos) wave s
%of length npts with amplitude A and frequency f [Hz],
%sampled at frequency sFreq[Hz or samples per second].
%The argument 'phase' is in degrees and is optional. When the phase is omitted
%it is assumed that the phase is zero. For a sine use phase=-90.
%When no LHS arguments are used (nargout is 0) the sgnal is plotted.
if nargin == 4,
phase = 0;
elseif nargin < 4 || nargin > 5,
help cosineGenerator
error('Incorrect use of the function');
end
%convert phase to radians
phase = phase / 180 * pi;
%sampling interval
dt = 1 / sFreq;
%generate the time vector
t = (0:npts-1)' .* dt;
%generate the wave
s = A .* cos(2 * pi * f .* t + phase);
%plot if no values are to be returned
if nargout == 0
subplot(2,1,1)
plot(t,s)
v=axis;
v(2)=t(end);
axis(v)
grid on
xlabel('Time [s]')
ylabel('Units')
title('Signal')
subplot(2,1,2)
pts2plot = 20;
plot(t(1:pts2plot),s(1:pts2plot),'o-')
v=axis;
v(2)=t(pts2plot);
axis(v)
grid on
xlabel('Time [s]')
ylabel('Units')
end
دوست دارم زندگی رو . . . 
پاسخ

سوال : توضیح برای دستور axis در کد متلب نوشته شده

#2
سلام دوست عزیز .
برای اینکه منظورم رو خوب متوجه بشید ، نرم افزار متلب رو باز کنید و دستور زیر رو بنویسید :


کد:
axis


نتیجه به صورت زیر هست :


کد:
ans =

    0    1    0    1


و همچنین یک پنجره شکل به صورت زیر نمایش داده می شود :


   




در واقع دستور axis ، برای تعریف حدود محورهای مختصات نمایش داده شده در شکل می باشد و تعیین کرده است که در دو جهت X و Y ، مقادیر مربوط به چه بازه هایی از محورهای مختصات نمایش داده شود .
در کدی که شما ذکر کردید ، ابتدا مقدار axis را در یک بردار به نام v ذخیره کرده است و سپس یکی از حدود آن را تغییر داده و در آخر نیز ، بردار axis را برابر بردار v تعریف شده ، قرار داده است . بنابراین کل روندی که انجام شده این است که ابتدا مقدار حدود محورهای مختصات تعریف شده برای نمایش شکل را دریافت کرده و سپس یکی از آنها را تغییر داده است .


کدهای متلب زیر رو تست کنید :


کد:
v=[-1 1 -1 1]
axis(v)


نتیجه این است که حدود محورهای مختصات ، از 1- تا 1 خواهد بود . شکل زیر نمایش داده می شود :

   
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط 4i469x ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان