۱۳۹۳/۰۶/۱۱, ۱۱:۵۵ ب.ظ
ایراد از مقادیری که وارد میکنیم نیست ، مقادری ورودی شرایط مرزی ما هستن چه مثبت ، منفی ، عدد های خیلی بزرگ ، کوچیک یا اعشاری و .... هیچ خللی در روند کار ایجاد نمیکنه . اروری که به من میده اینه :
چون میاد دقیقا عبارت v1 رو میگذاره جای که براش تعریف شده فقط کمیت اسکالر اونجا وارد بشه . به جا اینکه مقادیر ورودی V1 تا V4 رو وارد کنه خودشون رو میگذاره .
کاری که فرمودید در رابطه با حذف کردن '' قبلا انجام دادم که خودش یه ارور دیگه به دنبال داره ، در رابطه با ارور شما هم فک می کنم اگر m-file زیر رو استفاده کنید فیکس میشه .
در کل مشکل من فقط با دونستن یه چیز حل میشه ، اونم اینکه چطوری میشه ورودی Input رو توی '' استفاده کرد .
لطفا اگر m-file مشابه این کار دارید اینجا قرار بدید تا ازش الهام بگیریم برا این کار.خیلی ممنون .
کد:
invalid expression 'v2' when evaluating boundary conditions
چون میاد دقیقا عبارت v1 رو میگذاره جای که براش تعریف شده فقط کمیت اسکالر اونجا وارد بشه . به جا اینکه مقادیر ورودی V1 تا V4 رو وارد کنه خودشون رو میگذاره .
کاری که فرمودید در رابطه با حذف کردن '' قبلا انجام دادم که خودش یه ارور دیگه به دنبال داره ، در رابطه با ارور شما هم فک می کنم اگر m-file زیر رو استفاده کنید فیکس میشه .
کد:
function poten
% Potencial or Electrical Chart Selection:
t=input('Enter 1 for Potencial or 2 for Electrical chart :');
% Input Boundary Conditions:
x=input('Enter a :');
y=input('Enter b :');
v1=input('Enter Potentional V1 :');
v2=input('Enter Potentional V2 :');
v3=input('Enter Potentional V3 :');
v4=input('Enter Potentional V4 :');
% Coordinates
[pde_fig,ax]=pdeinit;
pdetool('appl_cb',5);
set(ax,'DataAspectRatio',[1 2 1]);
set(ax,'PlotBoxAspectRatio',[1.5 1 1]);
set(ax,'XLim',[0 x+1]);
set(ax,'YLim',[0 y+1]);
set(ax,'XTickMode','auto');
set(ax,'YTickMode','auto');
% Geometry description:
pderect([x+0.5 0.5 y+0.5 0.5],'R1');
set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','R1')
% Boundary conditions:
pdetool('changemode',0)
pdesetbd(4,...
'dir',...
1,...
'1',...
'v4')
pdesetbd(3,...
'dir',...
1,...
'1',...
'v3')
pdesetbd(2,...
'dir',...
1,...
'1',...
'v1')
pdesetbd(1,...
'dir',...
1,...
'1',...
'v2')
% Mesh generation:
setappdata(pde_fig,'Hgrad',1.3);
setappdata(pde_fig,'refinemethod','regular');
setappdata(pde_fig,'jiggle',char('on','mean',''));
pdetool('initmesh')
% PDE coefficients:
pdeseteq(1,...
'1.0',...
'0.0',...
'0',...
'1.0',...
'0:10',...
'0.0',...
'0.0',...
'[0 100]')
setappdata(pde_fig,'currparam',...
['1.0';...
'0 '])
% Solve parameters:
setappdata(pde_fig,'solveparam',...
str2mat('0','1000','10','pdeadworst',...
'0.5','longest','0','1E-4','','fixed','Inf'))
% Plotflags and user data strings:
if t==1;
setappdata(pde_fig,'plotflags',[1 1 1 1 1 1 7 1 0 0 0 1 1 0 0 0 0 1]);
setappdata(pde_fig,'colstring','');
setappdata(pde_fig,'arrowstring','');
setappdata(pde_fig,'deformstring','');
setappdata(pde_fig,'heightstring','');
elseif t==2;
setappdata(pde_fig,'plotflags',[1 1 1 1 1 1 7 1 0 0 0 1 0 0 0 1 0 1]);
setappdata(pde_fig,'colstring','');
setappdata(pde_fig,'arrowstring','');
setappdata(pde_fig,'deformstring','');
setappdata(pde_fig,'heightstring','');
end
% Solve PDE:
pdetool('solve')
در کل مشکل من فقط با دونستن یه چیز حل میشه ، اونم اینکه چطوری میشه ورودی Input رو توی '' استفاده کرد .
لطفا اگر m-file مشابه این کار دارید اینجا قرار بدید تا ازش الهام بگیریم برا این کار.خیلی ممنون .