2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 00:34 
Аватара пользователя


19/10/13
53
Здравствуйте вообще сперва делаю некоторые преобразования потом используб фуекцию Dsolve пробовал и так и этак ничего не выходит.
Помогите пожалуйста разобраться
Код:
d := (\[Mu] k)/(k + \[Mu]);
W1[x_, z_, t_] := A E^(I (c1 x + c2 z - \[Omega] t));
W3[x_, z_, t_] := B E^(I (c1 x + c2 z - \[Omega] t));

a := (\[Lambda] + \[Mu]) D[W1[x, z, t], x, x] + (\[Lambda] + d) D[
     W3[x, z, t], x, z] +
   d D[W1[x, z, t], z,
     z] - (\[Epsilon]^2 \[Mu]^2 (\[Lambda] + \[Mu]))/(
    3 (k + \[Mu])^2 (\[Lambda] + 2 \[Mu])) (D[W1[x, z, t], x, x, z,
       z] + D[W3[x, z, t], z, x, x,
       x]) + (\[Rho] \[Epsilon]^2 \[Mu]^2)/(
    12 (k + \[Mu])^2) (D[W1[x, z, t], z, z, t, t] +
      D[W3[x, z, t], z, x, t, t]);
b := \[Rho] D[W1[x, z, t], t, t];

c := (\[Lambda] + \[Mu]) D[W3[x, z, t], z, z] + (\[Lambda] + d) D[
     W1[x, z, t], x, z] +
   d D[W3[x, z, t], x,
     x] - (\[Epsilon]^2 \[Mu]^2 (\[Lambda] + \[Mu]))/(
    3 (k + \[Mu])^2 (\[Lambda] + 2 \[Mu])) (D[W1[x, z, t], x, x, x,
       z] + D[W3[x, z, t], x, x, x,
       x]) + (\[Rho] \[Epsilon]^2 \[Mu]^2)/(
    12 (k + \[Mu])^2) (D[W1[x, z, t], x, z, t, t] +
      D[W3[x, z, t], x, x, t, t]);
d := \[Rho] D[W3[x, z, t], t, t];
eqn1 = a - b
eqn2 = c - d
DSolve[{eqn1, eqn2},  x, z, t]

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 03:14 
Заслуженный участник


27/04/09
28128
1. А чего это у вашей DSolve четыре параметра?
2. Уравнения должны быть вида expr1 == expr2, а у вас не.
3. DSolve любит, чтобы зависимые и независимые аргументы были разделены чётко, и функции были в виде зависимый[независимые]. Смотря на ваши уравнения, я так и не понял, какие из переменных какие, так что никакого автоматического преобразования подсказать не смогу.

Примеры правильных вызовов DSolve:
Код:
DSolve[y'[x] + 28x y[x] == 0, y[x], x]
DSolve[{y''[t] == k y[t], y[0] == s}, y[t], t]
DSolve[{f'[x] == g[x], f[x] == g'[x]}, {f[x], g[x]}, x]
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]
(если чьё-то решение не найдёт — это уже другое дело).

Ну а вообще есть F1. И стоит приводить текст выдаваемой ошибки. Понимаю, можно ваш код скопировать и запустить — но всё же…

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 11:16 
Аватара пользователя


19/10/13
53
Поробовал еще так
Код:
DSolve[{(\[Lambda] + \[Mu]) D[W1[x, z, t], x, x] + (\[Lambda] + d) D[
      W3[x, z, t], x, z] +
    d D[W1[x, z, t], z,
      z] - (\[Epsilon]^2 \[Mu]^2 (\[Lambda] + \[Mu]))/(
     3 (k + \[Mu])^2 (\[Lambda] + 2 \[Mu])) (D[W1[x, z, t], x, x, z,
        z] + D[W3[x, z, t], z, x, x,
        x]) + (\[Rho] \[Epsilon]^2 \[Mu]^2)/(
     12 (k + \[Mu])^2) (D[W1[x, z, t], z, z, t, t] +
       D[W3[x, z, t], z, x, t, t]) == \[Rho] D[W1[x, z, t], t,
     t], (\[Lambda] + \[Mu]) D[W3[x, z, t], z, z] + (\[Lambda] + d) D[
      W1[x, z, t], x, z] +
    d D[W3[x, z, t], x,
      x] - (\[Epsilon]^2 \[Mu]^2 (\[Lambda] + \[Mu]))/(
     3 (k + \[Mu])^2 (\[Lambda] + 2 \[Mu])) (D[W1[x, z, t], x, x, x,
        z] + D[W3[x, z, t], x, x, x,
        x]) + (\[Rho] \[Epsilon]^2 \[Mu]^2)/(
     12 (k + \[Mu])^2) (D[W1[x, z, t], x, z, t, t] +
       D[W3[x, z, t], x, x, t, t]) == \[Rho] D[W3[x, z, t], t,
     t]}, {W1[x, z, t], W2[x, z, t]}, {x, z, t}]

получаю
Код:
DSolve::dsfun: "A\ E^(I\(c1\x+c2\z-t\\[Omega])) cannot be used as a function"

переменных у нас всего 3 x,z,t функции W1 и W3 вверху определены остальные все константы

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 12:21 
Аватара пользователя


19/10/13
53
начал искать ошиьку учиться более простые уравнения решать
Код:
eqn = y'[x, z] == x + 2 z;
sol = DSolve[eqn, y, {x, z}]

что то как несколько переменных где функцию определять надо так вообще беда
The length of the derivative operator Derivative[1] in (y^\[Prime])[x,z] is not the same as the number of arguments. >>

-- 20.02.2015, 13:36 --

вот казалось бы ошибок просто нет но
Код:
ClearAll["Global`*"]
u[x_, y_] := x + y;
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]

"x+y cannot be used as a function"

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 12:36 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Devin, перестаньте уже тупить, сколько можно. Ответьте чётко, что такое у вас y'[x, z]?

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 12:44 
Аватара пользователя


19/10/13
53
y'[x, z] первая производная функции y зависящая от x и z.
Самый последний пример как определить функцию u[x, y] для Dsolve ? Я уже замучился с этими дифференциальными уравнениями от нескольких переменных

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 12:58 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Devin в сообщении #980469 писал(а):
y'[x, z] первая производная функции y зависящая от x и z.
Да вы же издеваетесь.
arseniiv, вы человек вежливый, объясните ему, где он неправ, а то я, поди, сорвусь на некрасивые слова. (Или не сорвусь, но подробнее отвечу попозже.)

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 13:08 
Аватара пользователя


19/10/13
53
Сорвитесь но объясните, в интернете полно легких примеров. Но почти ничего нет от нескольких переменных с определение функции.
u[x_, y_] := x + y;
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]
Здесь например что не так?

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 13:12 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Devin в сообщении #980475 писал(а):
Здесь например что не так?
Вырвиглазное оформление кода. Заключайте его, пожалуйста, в тег tt. Ну невозможно же воспринимать.

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 13:18 
Аватара пользователя


19/10/13
53
u[x_, y_] := x + y;
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]

ну вот оформил в тег тт. Мне нужен всего один пример как определить функцию нескольких переменных для dsolve. Дальше я все сам сделаю.

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 14:27 
Заслуженный участник


25/02/11
1786
Вы сначала определили функцию $u$, а потом решили ее найти? :-) Вот так работает:
Код:
Clear[u]
DSolve[{D[u[x, y], x] + D[u[x, y], y] == 0}, u[x, y], {x, y}]

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 15:42 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Vince Diesel, опередили ;-)
Devin, теперь вам всё понятно?

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 21:56 
Заслуженный участник


27/04/09
28128

(2 Aritaborian.)

Aritaborian в сообщении #980472 писал(а):
вы человек вежливый
Ну, не сказал бы. И в интернете, и даже вне находились недовольные (тут уже чаще отдельными фразами). :lol:

Devin
Если намёк от Vince Diesel увидите — хорошо. Если нет — откройте спойлер:

(Что не так.)

У функции двух переменных ведь нет просто производной. Штрих в M., как и обычно, обозначает производную по единственному аргументу (хотя в физике в функциях от двух переменных $x, t$ производная по $x$ может обозначаться штрихами, а по $t$ точками над). Частную производную проще записать через D, хотя и есть функция Derivative, указывающая, сколько раз по какому аргументу брать, и штрих — это применение Derivative[1] — но этого знать не обязательно, M. сама себе преобразует, хотя в сообщении об ошибке Derivative и встретилось. Ну, тут, как я уже предлагал, можно жать F1.

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 22:44 
Аватара пользователя


19/10/13
53
Спасибо я немного запутался с постановкой задачи. Та проблема что была решена. Теперь вот такой вопрос как использовать решения уравнения
Код:
ClearAll["Global`*"]
\[Mu] = 1;
\[Rho] = 1;
\[Mu] = 1;
\[Alpha] = 30;
\[Epsilon] = 1;
\[Lambda] = 1;
a11 = (k + \[Mu])^2*(\[Lambda] +
     2*\[Mu])*(12*\[Rho]*\[Omega]^2 - (12*k*q^2*\[Mu]*Cos[\[Alpha]]^2)/
           (k + \[Mu]) + (q^2*\[Epsilon]^2*\[Mu]^2*\[Rho]*\[Omega]^2*
        Cos[\[Alpha]]^2)/(k + \[Mu])^2 -
         12*q^2*(\[Lambda] + 2*\[Mu])*
      Sin[\[Alpha]]^2 - (q^4*\[Epsilon]^2*\[Mu]^2*(\[Lambda] + \[Mu])*
        Sin[2*\[Alpha]]^2)/
           ((k + \[Mu])^2*(\[Lambda] + 2*\[Mu])));
a22 = (k + \[Mu])^2*(\[Lambda] + 2*\[Mu])*(12*\[Rho]*\[Omega]^2 -
     12*q^2*(\[Lambda] + 2*\[Mu])*Cos[\[Alpha]]^2 -
         (12*k*q^2*\[Mu]*
        Sin[\[Alpha]]^2)/(k + \[Mu]) + (q^2*\[Epsilon]^2*\[Mu]^2*\
\[Rho]*\[Omega]^2*Sin[\[Alpha]]^2)/
           (k + \[Mu])^2 - (4*
        q^4*\[Epsilon]^2*\[Mu]^2*(\[Lambda] + \[Mu])*Sin[\[Alpha]]^4)/
           ((k + \[Mu])^2*(\[Lambda] + 2*\[Mu])));
a12 = q^2*
   Cos[\[Alpha]]*(-12*
      k^2*(\[Lambda]^2 + 3*\[Lambda]*\[Mu] + 2*\[Mu]^2) -
         12*k*\[Mu]*(2*\[Lambda]^2 + 5*\[Lambda]*\[Mu] + 2*\[Mu]^2) +
         \[Mu]^2*(-2*
         q^2*\[Epsilon]^2*(\[Lambda] + \[Mu]) - (\[Lambda] +
           2*\[Mu])*(12*\[Lambda] - \[Epsilon]^2*\[Rho]*\[Omega]^2)) +
         2*q^2*\[Epsilon]^2*\[Mu]^2*(\[Lambda] + \[Mu])*
      Cos[2*\[Alpha]])*Sin[\[Alpha]];
a21 = q^2*
   Cos[\[Alpha]]*(-12*
      k^2*(\[Lambda]^2 + 3*\[Lambda]*\[Mu] + 2*\[Mu]^2) -
         12*k*\[Mu]*(2*\[Lambda]^2 + 5*\[Lambda]*\[Mu] + 2*\[Mu]^2) +
         \[Mu]^2*(-2*
         q^2*\[Epsilon]^2*(\[Lambda] + \[Mu]) - (\[Lambda] +
           2*\[Mu])*(12*\[Lambda] - \[Epsilon]^2*\[Rho]*\[Omega]^2)) +
         2*q^2*\[Epsilon]^2*\[Mu]^2*(\[Lambda] + \[Mu])*
      Cos[2*\[Alpha]])*Sin[\[Alpha]];
det = Simplify[a11 a22 - a12 a21]
sol = Simplify[Solve[det == 0, \[Omega]]]
Cv = sol[[1]]/q

Если так как в последней строчке то просто с боку переписаваеться единица на q, просто потом мне надо построить график омега/q от к
{(1/q)(\[Omega] -> -(1/Sqrt[
6])(\[Sqrt]((108 q^2 + 252 k q^2 + 144 k^2 q^2 + 10 q^4 -
4 q^4 Cos[60] +
3 q^4 Cos[
120] - \[Sqrt](q^4 ((108 + 252 k + 144 k^2 +
q^2 (10 - 4 Cos[60] + 3 Cos[120]))^2 -
24 (12 + 24 k + 12 k^2 + q^2) (54 k^2 -
18 k (-4 + Cos[120]) - 18 (-1 + Cos[120]) -
q^2 (-4 + 5 Cos[60] - 2 Cos[120] +
Cos[180])))))/(12 + 24 k + 12 k^2 + q^2))))}


-- 20.02.2015, 23:50 --

Разобрался
Cv = \[Omega]/q /. sol[[1]]

 Профиль  
                  
 
 Re: Не получается решить систему уравнений в пакете mathematica
Сообщение20.02.2015, 22:52 
Заслуженный участник


27/04/09
28128
Правильно, это лучший способ!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group