فکر کنم متوجه منظورم نشدید ، این چیزیه که تا الآن بهش رسیدم :
m-file بدون ارور لود میشه و مقادیر ورودی رو هم میگیره ، t , x, y رو کاری که باید باهاشون انجام بده رو انجام میده ولی V1 تا V4 هر مقداری که وارد میکنم اعمال نمیکنه دقیقا به جای اونها V1 , V2 , V3 , V4 رو میزاره توی شرایط مرزی PDE Toolbox.
یعنی اگر شما برا مثال به V1=2 , V2=3 , V3=3 , V4=2 رو به عنوان ورودی بگذارید ، میاد V1=V1 , V2=V2 , V3=V3 , V4=V4 رو میگذاره .
سوال من در اصل اینه که چطوری ورودی Input رو بین '' قرار بدم. مثلا چطوری وقتی V1 رو میگیره :
بیاد مقدار وارد شده رو جای V1 که در زیر براش تعریف شده بگذاره :
فکر کنم الآن دیگه کاملا متوجه منظورم شدید .
کد:
function potenv2
% 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')
m-file بدون ارور لود میشه و مقادیر ورودی رو هم میگیره ، t , x, y رو کاری که باید باهاشون انجام بده رو انجام میده ولی V1 تا V4 هر مقداری که وارد میکنم اعمال نمیکنه دقیقا به جای اونها V1 , V2 , V3 , V4 رو میزاره توی شرایط مرزی PDE Toolbox.
یعنی اگر شما برا مثال به V1=2 , V2=3 , V3=3 , V4=2 رو به عنوان ورودی بگذارید ، میاد V1=V1 , V2=V2 , V3=V3 , V4=V4 رو میگذاره .
سوال من در اصل اینه که چطوری ورودی Input رو بین '' قرار بدم. مثلا چطوری وقتی V1 رو میگیره :
کد:
v1=input('Enter Potentional V1 :');
بیاد مقدار وارد شده رو جای V1 که در زیر براش تعریف شده بگذاره :
کد:
pdesetbd(2,'dir',1,'1','v1')
فکر کنم الآن دیگه کاملا متوجه منظورم شدید .