loading...
sim power
مهندس احمدی بازدید : 282 یکشنبه 09 آبان 1395 نظرات (1)

   

ترکیب رشته های خانه آرایه

 
 

ترکیب رشته های خانه آرایه

از بحث قبلی ما ، این واضح است که ترکیب رشته ها با طول های مختلف  می تواند دردسازتر از تمام رشته های آرایه با طول یکسان باشد. ما  از فضاهای خالی با طول برابر در انتهای رشته ها استفاده می کنیم.

با این حال، روش موثرتر برای ترکیب رشته ها آرایه تبدیل  آرایه نتیجه به خانه آرایه است.

خانه آرایه متلب  می تواند اندازه هاو انواع داده  متفاوتی  در آرایه را نگهداری کند .خانه آرایه ها  راه انعطاف پذیرتری برای ذخیره سازی  رشته ها با طول  مختلف فراهم کرده است.

تابع cellstr آرایه کاراکتری را  به خانه آرایه از رشته ها تبدیل می کند.

مثال

name =’zara ali                   ‘;

position =’sr. surgeon            ‘;

worksat =’r n tagore cardiology research center’;

profile =char(name, position, worksat);

profile = cellstr(profile);

disp(profile)

 

زمانی که شما فایل را اجرا می کند، نتیجه زیر نمایش داده می شود:

477

توابع رشته ای در متلب

متلب امکان ایجاد، ترکیب، مقایسه و دستکاری، تجزیه  توابع مختلفی را  فراهم کرده است.

جدول زیر توصیف کوتاهی از توابع رشته ای را در متلب فراهم آورده است:

هدف تابع
توابعی برای ذخیره  متن در آرایه های کاراکتری، ترکیب آرایه های کارکتری و غیره.
ایجاد رشته ای از کاراکترهای خالی blanks
ایجاد خانه آرایه ای رشته ای از آرایه کارکاکتری cellstr
تبدیل به آرایه کاراکتری(رشته) char
تعیین می کند که ورودی خانه آرایه رشته ای است iscellstr
تعیین عنصر در آرایه کاراکتری ischar
فرمت داده برای رشته sprint
پیوند افقی رشته ها stract
اتصال رشته ها در خانه آرایه برای رشته های مجرد strjoin
توابعی برای شناسایی بخش های رشته ها، پیدا کردن و جایگزینی زیر رشته
تعیین می کند که آرایه کاراکتری است. ischar
عناصر آرایه  که حروف الفبا هستند isletter
عناصر آرایه که فضا کاراکترها هستند isspace
تعین می کند که مجموعه مشخص شده رشته است. isstrprop
قالب بندی داده رشته ای را می خواند sscanf
رشته ای را در رشته دیگر پیدا می کند strfind
رشته ای را پیدا و در زیر رشته دیگر جایگزین می کند strrep
رشته دوبخشی در جای مشخص strsplit
انتخاب بخش هایی از رشته strtok
بررسی اعتبار رشته متنی validatestring
نماد متغیرها در عبارت را تعیین می کند. symvar

ادامه مطلب....

مهندس احمدی بازدید : 265 یکشنبه 09 آبان 1395 نظرات (0)

  

داده خروجی

 
 

داده خروجی

داده خروجی در متلب به معنی نوشتن در یک فایل است.متلب به شما اجازه استفاده از داده شما در برنامه کاربردی دیگر  که در فایل های اسکی خوانده شده است را می دهد.. برای این کار، متلب چندین گزینه داده خروجی را فراهم کرده است.

شما می توانید انواع فایل های زیر را ایجاد نمایید:

  • مستطیال، فایل داده اسکی را از آرایه مشخص میکند.
  • فایل روزانه(ورود به سیستم) از ضربه کلید و  نتایج داده خروجی.
  • فایل اسکی  اختصاصی با استفاده از توابع سطح پایین مانند  fprintf.
  • فایل – mex برای دسترسی شما به روال فرترن یا c/c++که به یک فرمت فایل متنی خاص نوشته می شود.

جدا از این، شما همچنین می توانید داده را به صفحه گسترده صادر کنید.

دو راه برای خروج آرایه عددی به عنوان فایل داده ascii تعیین شده وجود دارد:

  • با استفاده از تابع save و تعیین توصیف کننده اسکی
  • با استفاده از تابع dlmwrite

نحوه اجرا در متلب مورد استفاده برای تابع save این گونه است:

save my_data. out num_array -ascii


که در اینجا mydata.outفابل داده اسکی تعیین شده را ایجاد می کند، num_array یک آرایه عددی و تعیین کننده است.

نحوه اجرا در متلب برای استفاده از تابع dlmwrite این گونه است:

dlmw1cite(‘myidat:a . out: ‘ , num_array, ‘dlmicha1c‘)

 

که، my_data.out برای ایجاد فایل اسکی تعیین شده است، num_array آرایه عددی است و dlm_char کاراکتر تعیین شده است.

مثال

مثال زیر این مفهوم را تشریح می کند.یک فایل اسکریپت ایجاد کنید و کد زیر را تایپ نمایید:

num_array = [ 1 2 3 4 ; 4 5 6 7; 7 8 9 o];

save array_data1.out num_array -ascii;

type array_data1.0ut

dlmwrite(‘array_data2.out‘, num_array, ‘ ‘);

ادامه مطلب...

مهندس احمدی بازدید : 291 یکشنبه 09 آبان 1395 نظرات (0)

  

توابع در متلب

 
 

توابع در متلب

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

توابع بر روی متغیر ها در فضای کاری خودشان عمل می کنند، که فضای کاری محلی نامیده می شود،دسترسی به فضای کاری جداگانه در خط فرمان  متلب  فضای کاری پایه نامیده می شود.

توابع می توانند بیش از یک آرگومان ورودی را بپذیرند و ممکن است بیش از یک آرگومان خروج را برگردانند.

نحوه اجرا در متلبی از عبارت توابع  این گونه است:

482

مثال

تابع زیر mymax نامیده می شود  که باید در یک فایل به اسم  mymax.m نوشته شود. ممکن است پنج عدد آرگومان را به عنوان ورودی بگیرد و بزرگترین اعداد را برگرداند.

یک فایل ایجاد نمایید، اسم آن را mymax بگذارید و کد زیر را در آن تایپ نمایید:

function max = mymax(nl, n2, n3, n4, n5)

%thisfunction calculates the maximum of the

% five numbers given as input

max = nl;

if(n2 > max)

 max = n2;

end

if(n3 > max)

 max = n3;

end

if(n4 > max)

 max = n4;

end

if(n5 > max)

 max = n5;

end

 

اولین خط از تابع  با کلمه کلیدی function شروع می شود.این نام تابع و آرگومتن ها را می دهد.در مثال ما، تابع  mymax پنج آرگومان ورودی و یک آرگومان خروجی دارد.

خطوط فرمان  که بعد از عبارت  function می آیند متن کمکی را فراهم می کنند.زمانی که شما تایپ می کنید این خطوط چاپ می شوند:

help max

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

483

شما می توانید تابع را به این صورت فراخوانی کنید:

lmymax(34,78,89,23,l)


توابع بی نام ( نام مستعار)

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

484

توابع بی نام مانند توابع درون خطی در زبان های برنامه نویسی مرسوم هستند، که درون عبارت متلب مجرد تعریف  شده اند. شامل دستورات  و تعدادی ازآرگومان های  ورودی و خروجی  متلب است. 

ادامه مطلب...

مهندس احمدی بازدید : 235 یکشنبه 09 آبان 1395 نظرات (0)

  

قالب های رشته ای

 
 

قالب های رشته ای

یک فایل اسکریپت ایجاد نمایید و کد زیر را در آن تایپ کنید:

a = pi*1000*ones(1,5);

sprintf(‘ %f \n %.2f \n %+.2f \n %l2.2f \n %ol2.2f \n‘, a)


اتصال رشته ها
زمانی که شما فایل را اجرا می کنید، نتیجه زیر نشان داده می شود:

478

 

یک فایل اسکریپت ایجاد نمایید و کد زیر را در آن تایپ کنید:

%cell array of strings

str_array ={‘red‘,‘blue‘,‘green‘,‘yellow‘,‘orange‘};

 

%join strings in cell array into single string

str1 = strjoin(“-“, striarray)

str2 = strjoin(“,”, striarray)


پیدا کردن و جایگزینی رشته ها
زمانی که شما فایل را اجرا می کنید، نتیجه زیر نشان داده می شود:

479

یک فایل اسکریپت ایجاد نمایید و کد زیر را در آن تایپ کنید:

students ={‘zara ali‘,‘neha bhatnagar‘,…

‘monica malik‘,‘madhu gautam‘,…

‘madhu sharma’,’bhawna sharma’,…

‘nuha ali’,’reva dutta’,…

‘sunaina ali’,’sofia kabir’};

 

%the strrep function searches and replaces sub-string.

new_student = strrep(students(8),’reva’,’poulomi’)

%display first names

first_names = strtok(students)

480

ادامه مطلب.....

مهندس احمدی بازدید : 434 یکشنبه 09 آبان 1395 نظرات (0)

   

توابع فرعی و اصلی

 
 

توابع فرعی و اصلی

هر تابعی نسبت به تابع مستعار باید درون یک فایل تعریف شود.هر تابع فایل شامل تابع اصلی موردنیاز است که اول دیدار می شودو هر تعداد  تابع – فرعی اختیاری  بعد از تابع اصلی می آید و استفاده می شود.

توابع اصلی می تواند خارج از فایل تعریف شده آن ها فراخوانی شود،در هریک از خط فرمان یا توابع دیگر، اما توابع فرعی نمی توانند با خط فرمان یا دیگر توابع ،خارج از فایل تابع فراخوانی شوند.

توابع فرعی تنها با توابع اصلی قابل مشاهده اند و دیگر توابع فرعی مطابق با فایل توابع آن ها تعریف می شوند.

مثال

اجازه دهید تابعی با نام quadratic بنویسیم  که ریشه معادل quadratic  را محاسبه می کند.این تابع سه ورودی ، co – efficient  quadratic،co- efficient خطی و تابع فرعی disc را میگیرد، که جداگانه محاسبه می شوند.

یک فایل تابع quadratic.m ایجاد نمایید و کد زیر را در آن تایپ کنید:

function[xl,x2]= quadratic(a,b,c)

%thisfunction returns the roots of

% a quadratic equation.

%lt takes 3 input arguments

% which are the co-efficients of x2, x and the

%constant term

%lt returns the roots

d = disc(a,b,c);

xl =(-b + d)/(2*a);

x2 = )-b – dl / (2*a);

end%end of quadratic

function dis = disc(a,b,c)

%function calculates the discriminant

dis = sqrt(b^2-4*a*c);

end%end of sub-function

شما می توانید تابع بالا را از خط فرمان فراخوانی کنید:

quadratic(2,4,-4)

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

492

توابع تو در تو

شما می توانید تابعی درون بدنه تابع دیگر تعریف کنید.آن ها توابع تو در تو نامیده می شوند.تابع تو در تو a شامل هر یا تمامی اجزای تابع ذدیگری است.

توابع تو در تو در  حوزه ای از توابع دیگر تعریف شده اند و آن ها دسترسی به  فضای کاری توابع در برگرفته را  به اشتراک می گذارند.

تابع تو در تو با نحوه اجرا در متلبزیر در ادامه آمده است:

ادامه مطلب....

مهندس احمدی بازدید : 223 یکشنبه 09 آبان 1395 نظرات (0)

   

طرح

 
 

طرح

برای نقشه گراف با استفاده از تابع، شما نیاز دارید مراحل زیر را انجام دهید:

1.تعریف x،  با مشخص کردن مقادیر برای x، برای هرکرام از طرح ها.

2.تعریف تابع،(y=f(x

3.فراخوانی دستور plot،با عنوان(plot(x,y

مثال زیر اثبات این مفهوم است. اجازه دهید تابع ساده x=y را برای محدوده ای از مقادیر برای x از 0 تا 100، با افزایش 5 تایی رسم کنیم.

یک فایل اسکریپت ایجاد کنید و کد زیر را تایپ نمایید:

x =[0:5:l00];

y = x:

plot (x, y)

زمانی که شما فایل را اجرا می کنید، متلب طرح زیر را نمایش می دهد:

508

اجازه دهید یک مثال بیشتر برای رسم تابع  y=x2  بزنیم.در این مثال ما می خواهیم دو گراف با توابع یکسان، اما در دو زمان، مقادیر افزایشی را کاهش خواهیم داد.لطفاً توجه داشته باشید همانطور که مقادیر افزایشی را کاهش می دهیم نمودار نرم وصافتر می شود.

یک فایل اسکریپت ایجاد کنید و کد زیر را در آن تایپ کنید:

x = [12345678910];

x =[-100:20:100];

y = x.^2;

plot (x , y)

زمانی که شما فایل را ایجاد می کنید، متلب طرح زیر را نشان می دهد:

509

کمی کد فایل را تغییر دهید، مقادیر افزایشی را به 5 کاهش دهید:

x =[-100:5:100];

y = x.^2;

ادامه مطلب....

مهندس احمدی بازدید : 262 یکشنبه 09 آبان 1395 نظرات (0)

  

توابع خصوصی

 
 

توابع خصوصی

تابع خصوصی یک تابع اصلی است  که تنها به یک گروه از توابع دیگر محدود شده است اگر شما نمی خواهید تابع(ها)  نمایش داده شود، شما می توانید آن ها را مانند تابع خصوصی ایجاد کنید.

تابع خصوصی  در subfolders با اسم خصوصی قرار داده می شود.

مثال

اجازه دهید دوباره تابع quadratic را بنویسیم. در این  صورت، تابع  disc به صورت جداگانه محاسبه می شود، که یک تابع خصوصی خواهد بود.

یک زیر پوشه با اسم خصوصی در فهرست کارتان ایجاد نمایید. تابع زیر تابع فایل disc.m را در آن ذخیره می کند:

function dis = disc(a,b,c)

%function calculates the discriminant

dis = sqrt(b^2-4*a*c);

end%end of sub-function

 

یک تابع quadratic3.m در فهرست کاری ایجاد نمایید و کد زیر را در آن تایپ کنید:

function[xl,x2]= quadratic3(a,b,c)

%thisfunction returns the roots of

% a quadratic equation.

%lt takes 3 input arguments

% which are the co-efficients of x2, x and the

%constant term

%lt returns the roots

d = disc(a,b,c);

xl =(-b + d)/(2*a);

x2 =(-b – d)/(2*a);

end%end of quadratic3

شما می توانید تابع بالا را از خط فرمان به این صورت فراخوانی کنید:

quadratic(2,4,-4)

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

495

متغیرهای عمومی

ادامه مطلب....

مهندس احمدی بازدید : 228 یکشنبه 09 آبان 1395 نظرات (0)

  

نوشتن فایل های روزانه

 
 

نوشتن فایل های روزانه

فایل های روزانه سیستم ورودی های فعال از جلسه متلب هستند. تابع روزانه دقیقاً یک کپی از جلسه شما در فایل دیسک به جز گرافیک، ایجاد می کنند

turn onفایل روزانه، تایپ کنید:

diary

به صورت اختیاری، شما می توانید نامی از فایل سیستم ورود بدهید،بیان کنید:

turn off فایل روزانه:

diary logdata.0ut

dairy off

شما می توانید فایل روزانه را در یک ویرایشگر متن باز کنید.

 

خروج داده برای فایل های داده متنی سطح  پایین  i/o

تاکنون، ما آرایه های عددی را استخراج کردیم.اگرچه ممکن است شما به ایجاد فایل های متنی دیگر نیاز داشته باشید، شامل ترکیباتی از داده کاراکتری و عددی، فایل های خروجی غیر مستطیلی، یا فایل های با طرح های رمزگذاری غیر اسکی.برای این منظور، متلب تابع fprintf سطح پایین را فراهم می کند.

همانطور که در فعالیت های فایل سطح پایین، قبل از استخراج، شما نیاز به بازکردن یا ایجاد یک فایل با تابع fopenدارید و شناسه فایل را می گیرید.به طور پیش فرض، fopen یک فایل را برای دسترسی فقط خواندنی باز می کند. شما باید نوشتن یا افزودن را مشخص کنید، مانند’w’ و ‘a’.

پس از پردازش فایل شما نیاز به بستن آن با تابع fclose دارید.

مثال زیر این مفهوم را نشان می دهد:

مثال

یک فایل اسکریپت ایجاد نمایید و کد زیر را در آن تایپ کنید:

% create a matrix y, with two rows

x = 0:10:100;

y =[x;log(x)];

 

% open a file for writing

fid = fopen(‘logtable.txt‘, ‘w’);

 

% table header

fprintf(fid, ‘log      function\n\n‘);

 

% print values in column order

% two values appear on each row of the file

fprintf(fid, ‘%f      %f\n‘, y);

fclose(fid);

ادامه مطلب....

مهندس احمدی بازدید : 280 یکشنبه 09 آبان 1395 نظرات (0)

   

نمودار در متلب

 
 

نمودار در متلب

اضافه کردن عنوان، برچسب ها،خط مشبک و مقیاس گذاری  بر روی نمودار

متلب به شما اجازه اضافه کردن عنوان، برچسب ها در امتداد محور –  x و محور- y، خطوط مشبک و همچنینتنظیم محورهای منظم روی نمودار را می دهد.

  • دستورات xlabel و ylabel برچسب هایی در طول محورx و محور y تولید می کند.
  • دستور title به شما اجازه می دهد یک عنوان بر روی گراف بگذارید.
  • دستور grid on به شما اجازه می دهد خطوط مشبک بر روی نمودار بگذارید.
  • دستور axis equal اجازه تولید طرح با عامل های مقیاس مشترک و فضاها بر روی هر دو محور را می دهد
  • دستور axis square یک طرح مربع تولید می کند.

مثال

یک فایل اسکریپت ایجاد کنید و کد زیر را تایپ نمایید:

x =[o:0.0l:lo];

y = sin (x);

plot (x, y), xlabel ( ‘x‘ ) , ylabel ( ‘ sin (x) ‘),

 title ( ‘sin (x) graph’ ) , grid on, axis equal

 

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

511

 

ترسیم چند تابع بر روی یک نمودار

شما می توانید چند نمودار بر روی یک طرح رسم نمایید.مثال زیراین مفهوم را شرح می دهد:

مثال

یک فایل اسکریپت ایجاد کنید و کد زیر را تایپ نمایید:

ادامه مطلب....

مهندس احمدی بازدید : 216 یکشنبه 09 آبان 1395 نظرات (0)

  

نمودار در متلب

 
 

نمودار در متلب

تنظیم رنگ ها در گراف

متلب گزینه هایی برای هشت رنگ اصلی برای رسم نمودار فراهم کرده است.این جدول رنگ ها و کد ها را نشان می دهد:

کد رنگ
w سفید
k سیاه
b آبی
r قرمز
c فیروزه ای
g سبز
m بنفش
y زرد

 

مثال

به ما اجازه دهید نموداری از چندجمله ای را رسم کنیم

  1. f(x) = 3x4+2x3+7x2+2x+9 ,
  2. g(x)=5x3+9x+2

یک فایل اسکریپت ایجاد کنید و کد زیر را در آن تایپ نمایید:

x =[-10:0.01:10];

y =3*x. ^4+2* x. ^3+7* x. ^2+2* x +9;

g =5* x. ^3+9* x +2;

plot(x, y,‘r‘, x, g, ‘g‘)

زمانی که شما فایل را اجرا می کنید، متلب نمودار زیر را تولید می کند:

513

تنظیم مقیاس محورها

دستورaxis اجازه تنظیم مقیاس محورها را می دهد. شما می توانید مقادیر حداقل و حداکثر برای محور x و y با استفاده از دستور زیر در روش زیر فراهم کنید:

514

مثال زیر این را نمایش می دهد:

ادامه مطلب....

تعداد صفحات : 80

اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 791
  • کل نظرات : 0
  • افراد آنلاین : 3
  • تعداد اعضا : 0
  • آی پی امروز : 19
  • آی پی دیروز : 73
  • بازدید امروز : 22
  • باردید دیروز : 169
  • گوگل امروز : 0
  • گوگل دیروز : 15
  • بازدید هفته : 375
  • بازدید ماه : 191
  • بازدید سال : 22,930
  • بازدید کلی : 194,036