ساده سازي و ويرايش در متلب:
گاهي برخي عبارات symbolic بسيار پيچيده و يا طولاني هستند و شما مايل هستيد كه آنها را به عبارات ساده تر يا كوتاهتري تبديل كنيد تا بتوانيد نتيجه ي بهتري از آن بگيريد . به اين منظور چنـد تـابع در MATLAB منظـور شـده است كه شما را به ويرايش دلخواهتان از يك عبارت جبري و symbolic رهنمون مي گردد . اولين و كاملترين تابع در اين رابطه، تـابع simple است كه تمامي راههاي موجود براي ويرايش يك عبارت به اش كال گوناگون را بررسي و چاپ مي كند .
به مثـال زيـر توجـه كنيد:
>>syms x y
>> simple(x^3+3*y^2*x^2+4*x*y+sin(x+y));
simplify: x^3+3*y^2*x^2+4*x*y+sin(x+y)
radsimp: x^3+3*y^2*x^2+4*x*y+sin(x+y)
combine(trig): x^3+3*y^2*x^2+4*x*y+sin(x+y)
factor: x^3+3*y^2*x^2+4*x*y+sin(x+y)
expand: x^3+3*y^2*x^2+4*x*y+sin(x)*cos(y)+cos(x)*sin(y)
combine: x^3+3*y^2*x^2+4*x*y+sin(x+y)
convert(exp): x^3+3*y^2*x^2+4*x*y-1/2*i*(exp(i*(x+y))-1/exp(i*(x+y))
convert(sincos): x^3+3*y^2*x^2+4*x*y+sin(x+y)
convert(tan): x^3+3*y^2*x^2+4*x*y+2*tan(1/2*x+1/2*y)/(1+tan(1/2*x+1/2*y)^2)
collect(x): x^3+3*y^2*x^2+4*x*y+sin(x+y)
mwcos2sin: x^3+3*y^2*x^2+4*x*y+sin(x+y)
همانگونه كه ملاحظه فرموديد، استفاده از تابع simple به اين شكل، تمامي حالات ممكن براي ساده سازي يك عبارت را در مورد عبارت symbolic ورودي خود امتحان نموده و نتايج را چاپ مي كند؛ اگرچه ممكن است بسياري از اين حـالات براي اين عبارت ناكارآمد باشد و هيچ اثري در ويرايش آن نگذارد . از دستور simple به گونه اي ديگر نيز مي توان استفاده نمود . در اين حالت دستور مساوي با يـك آرايـه ي سـطري دو متغيره قرار مي گيرد . اجراي دستور موجب مي شود كه عبارت به يكي از روشها كه خود نرم افزار مفيد تشخيص مي هـد بـه كوتاهترين عبارت ممكنه ساده شده و عبارت ساده شده در متغير اول ماتريس قرار گيرد . متغير دوم حاوي نام روشي خواهـد بود كه مورد استفاده قرار گرفته است . البته در اين حالت ممكن است نرم افزار راهي براي كوتاهتر نمودن عبارت پيدا نكنـد و در نتيجه عين عبارت را در متغير اول و در متغير دوم مقدار تهي را قرار دهد . چند مثال:
>> syms x y
>> [s,h]=simple(sin(x+y)+cos(x+y))
s= sin(x+y)+cos(x+y)
h= [ ]
>> [s,h]=simple(sin(x+y)*cos(x+y))
s= 1/2*sin(2*x+2*y)
h= combine(trig)
>> [r,how]= simple(x^2+2*x+1)
r= (x+1)^2
how= factor
>> [A,B]= simple(cos(x)+i*sin(x))
A= exp(i*x)
B= convert(exp)
بعضي از حالات پر كاربرد ي كه دستور simple چاپ مي كند، به عنوان توابعي مستقل در MATLAB شناخته مي شوند. اين موارد عبارتند از factor ، horner ، collect ، simplify و simplify .expand شكل خاصي از simple اسـت كه با استفاده از قوانين ساده سازي رياضي عبارت موجود را ساده ميسازد. به عنوان مثال :
>> syms x y
>> simplify(sin(x)^2 + cos(x)^2)
ans= 1
>> simplify( [(x^2+5*x+6)/(x+2),sqrt(16)])
ans= [ x+3 , 4 ]
در پست بعدی با چند دستور در این زمینه آشنا می شویم.
نویسنده: پور مقدس
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,