تعریف متغیرها به صورت سمبلیک (Symbolic)، در متلب
وقتی می گوییم در متلب یک متغیر به صورت سمبلیک (Symbolic) تعریف شود، منظور این است که عدد خاصی را به آن متغیر نسبت نمی دهیم و تنها با نماد آن سر و کار داریم. در درس ریاضی، بسیاری از معادلات به همین صورت حل می شوند و رایجترین نمادها، دو نماد x و y می باشند.
دستور syms :
دستور syms در متلب، برای تعریف متغیرها به صورت سمبلیک به کار می رود. به عنوان مثال، اگر بخواهیم دو متغیر x و y را به صورت سمبلیک تعریف کنیم، باید اینگونه بنویسیم :
حال می توانیم معادلاتی را به صورت سمبلیک بر حسب دو متغیر x و y بنویسیم.
با مثال زیر این موضوع را بهتر توضیح می دهیم :
(x+y)*(x+y)^5
نتیجه :
(x + y)^6
فرض کنید x و y را به صورت سمبلیک تعریف نکنیم و تنها دستور زیر را اجرا نماییم (چنانچه قبلا آن دو را در متلب تعریف کرده باشیم، باید ابتدا دستور clear all را اجرا کنیم) :
در این صورت با پیغام خطای زیر مواجه می شویم :
این پیغام خطا به این دلیل است که نرم افزار متلب، به طور پیش فرض برای متغیر x و y مقدار می خواهد، مگر آنکه قبلا این دو متغیر به صورت سمبلیک تعریف شده باشند.
دستور expand :
A=(x+y)^2
B=expand(A)
نتیجه :
(x + y)^2
B =
x^2 + 2*x*y + y^2
دستور factor :
A=(x+y)^2
B=expand(A)
C=factor(B)
نتیجه :
(x + y)^2
B =
x^2 + 2*x*y + y^2
C =
(x + y)^2
دستور simplify :
دستور simplify در متلب، فرمول هایی را که بر حسب متغیرهای سمبلیک هستند، تا حد ممکن ساده می کند.
simplify((x^3-y^3)/(x-y))
نتیجه :
x^2 + x*y + y^2
دستور simple :
در متلب، دستور simple نیز برای ساده تر کردن عبارت های سمبلیک به کار می رود. به مثال زیر توجه کنید :
simple((x^3-y^3)/(x-y))
نتیجه :
x^2 + x*y + y^2
radsimp:
(x^3 - y^3)/(x - y)
simplify(100):
x^2 + x*y + y^2
combine(sincos):
(x^3 - y^3)/(x - y)
combine(sinhcosh):
(x^3 - y^3)/(x - y)
combine(ln):
(x^3 - y^3)/(x - y)
factor:
x^2 + x*y + y^2
expand:
x^3/(x - y) - y^3/(x - y)
combine:
(x^3 - y^3)/(x - y)
rewrite(exp):
(x^3 - y^3)/(x - y)
rewrite(sincos):
(x^3 - y^3)/(x - y)
rewrite(sinhcosh):
(x^3 - y^3)/(x - y)
rewrite(tan):
(x^3 - y^3)/(x - y)
mwcos2sin:
(x^3 - y^3)/(x - y)
collect(x):
x^2 + y*x + y^2
ans =
x^2 + x*y + y^2
very goood
ببخشید من هنگامی که از دستور syms استفاده میکنم متلب هنگ میکنه و نیاز به مموری فوق العاده زیادی داره.مشکل کجاست ؟
ببخشید من مشکلی پیدا کردم.تا دیروز از دستور'syms'به راحتی استفاده میکردم اما امروز یه پیام خطا میده مبنی بر " Undefined function 'syms' for input arguments of type 'char'. "
مشکل کار چیه؟چه کار کنم تا مثل اول بشه.
عالیییی ممنون