2014-12-17 5 views
0

'новое для математики. У меня есть небольшой проект: получить уравнение, число п, число х и число у и число ч, а затем с помощью формулы Эйлера вычислить NTH итерацию ... Мой код:mathematica получение ввода от пользователя

f[x_,y_]=input["Please input f(x,y):"] 
n=input["Please input number of iterations:"] 
x0=input["Please input initial value x0:"] 
y0=input["Please input initial value y0:"] 
h=input["please input h:"] 
For[i=0,i<n,i++,y0=y0+f[x0,y0]*h;x0=x0+h] 

но когда я скопируйте этот код в математике 9; он просто печатает некоторые тексты и заканчивается. он не получил никакого ввода от пользователя. Просто распечатайте это:

input["Please input f(x,y):"] 
input["Please input number of iterations:"] 
input["Please input initial value x0:"] 
input["Please input initial value y0:"] 
input["please input h:"] 

а затем конец!

Не могли бы вы мне помочь?

+0

всех Mathematica встроенных функций начинаются с заглавной буквой – agentp

+0

Используйте 'Input' вместо 'input'. Функции Mathematica чувствительны к регистру. –

ответ

0

Вы должны написать его в двух отдельных частях. Я бы написал инициализацию части переменных, а затем цикл for. Функции в Mathematica нуждаются в задержанных равных: = и вы получили выходы, которые вы сделали, потому что Mathematica не позволяет вам вводить код во время работы кода. вы также должны подавлять вывод с помощью;

f[x_,y_]:= ; %%write in f(x,y) 
n= ; %%input number of iterations 
x0= ; %%input initial value x0 
y0= ; %%input initial value y0 
h= ; %%input h 

Euler форма раствора

euler:= Module[{ans, i, x, y, nsteps}, 
    ans = {{x0,y0}};x=x0;y=y0;nsteps=n; 
    Do[(y=y+h*f[x,y]; 
     x=x+h; ans=Append[and,{x,y}]),{i,1,nsteps}];ans] 

Для просмотра результата Euler forumal сделать ...

eulerans1 = euler 
Смежные вопросы