2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 10
1

Не получается использовать solve().

26.02.2012, 13:10. Показов 3577. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, недавно столкнулся с необходимостью освоения Matlab, так что владею пока им на уровне пещерного человека... возникла необходимость решить систему трансцендентных уравнений и при попытке использования toolbox'a Symbolic Math получил такую ошибку:

Warning: Explicit solution could not be found.
> In solve at 81
In angels at 17
??? Error using ==> mupadmex
Error in MuPAD command: Subscripted assignment dimension mismatch

Error in ==> sym.sym>sym.subsasgn at 1435
C = mupadmex('symobj::subsasgn',A.s,B.s,inds{:});

Error in ==> angels at 21
f1(1)=a+b;

последние две строчки вроде понятны - он не смог решить систему относительно a и b потому и сложить их не может... а что делать с тем, что выше?
PS: если надо выложу всю программу и само уравнение в человеческом виде...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2012, 13:10
Ответы с готовыми решениями:

Не получается использовать :before
Всем доброго времени суток! У меня есть блок (long) в нем картинка () и хочу поставить за этой...

Не получается использовать анимацию JS
Хотел чтоб надпись "обзор БК" двигалась(вместо анимации CSS пробую анимацию JS) но почему то не...

Не получается использовать wcscat
void read_file(HWND HWND_E, HWND HWND_R, TCHAR* name, INT ind) { SetWindowText(HWND_E, L"");...

Не получается использовать libcurl
Скинул include файлы в include папку visual studio, lib файлы в lib папку, dll-ки в папку system32...

6
2013 / 1285 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
26.02.2012, 13:58 2
Цитата Сообщение от mindhunter87 Посмотреть сообщение
если надо выложу всю программу и само уравнение в человеческом виде...
Ну было бы неплохо
0
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 10
26.02.2012, 14:06  [ТС] 3
Система:
L*(sin(γ+γ0)-sin(γ0))-R1*(cos(ψ0)+cos(α))-R2*sin(β)=0
L*(cos(γ0)-cos(γ+γ0))-R1*(sin(α)-sin(ψ0))+R2*(1-cos(β))=0

программа в Matlab 7.11:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
close all
clear all
 
%% известные величины
G(1)=-15*pi/180; %% начальный угол качки, рад
dg=0.001; %%приращение угла G, рад
i=1; %%начало отсчёта
n=510; %%окончание отсчёта
R1=sym(3.2); %%длинна выносной балки, м
R2=sym(0.79); %%высота стойки, м
g0=sym(15*pi/180); %% базовый угол наклона относительно центра качания, рад
f=sym(10*pi/180); %% угол возвышения балки, рад
L=sym(5); %% расстояние от центра качания до точки установки устройства, м
 
%% решение системы уравнений
syms a b g
[a,b]=solve('L*(sin(g0+g)-sin(g0))-R1*(cos(f)+cos(a))-R2*sin(b)=0', 'L*(cos(g0)-cos(g+g0))-R1*(sin(a)-sin(f))+R2*(1-cos(b))=0');
 
%% поиск углов поворота
g=G(1);
f1(1)=a+b;
f2(1)=g+b;
for i=2:n
    g=G(i-1);
    f1(i)=a+b;
    f2(i)=g+b;
end
 
%%построение графика
figure;
plot(G,f1,'--r',G,f2,'-.b','linewidth',2)
grid on;
legend('f1, град','f2, град') 
xlabel('угол гамма, град')
ylabel('углы f1,f2, град')
0
2013 / 1285 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
26.02.2012, 14:34 4
система из двух уравнений с тремя неизвестными? или я че то не так понял? (В коде особо не разбирался)
0
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 10
26.02.2012, 15:05  [ТС] 5
нет, неизвестных две "a" и "b". "g" задана символом, что бы потом её приравнивать к разным значениям матрицы "G". судя по примерам в справке toolbox'a ему не принципиально символ это или константа, или я ошибаюсь?
0
2013 / 1285 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
26.02.2012, 19:49 6
да, действительно, у меня решатель минут на 5 зависает и выдает что решения не найдено. А обязательно через Symbolic? Обычным матлабовским способом пройтись с маленьким шагом - относительно несложно получится. Без этих мапловских символов.
1
2 / 2 / 0
Регистрация: 26.02.2012
Сообщений: 10
26.02.2012, 21:23  [ТС] 7
если честно, не знаю обязательно ли... дело в том, что "g" не совсем константа и в перспективе будет меняться по гармоническому закону, а в более далёкой перспективе - более или менее случайно. я потому и хотел, что бы программа решила это дело в аналитическом виде, а я бы дальше подставлял туда что мне вздумается. Спасибо за помощь, попробую разобраться со стандартными матлабовскими функциями для решения
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2012, 21:23
Помогаю со студенческими работами здесь

Не получается использовать getcursor
Я скачал с офсайта среду, но при попытке использовать getcursor вываливается предупреждение что...

Не получается использовать frame
прошу помочь с Delphi, не могу использовать frame... а также, скажите пожалуйста, как можно font...

Не получается использовать dll
Создаю дллку . Она имеет одну функцию get_index() DLL extern "C" __declspec(dllexport)int...

Не получается использовать SubСlassing
Доброго времени суток! Для пущего понимания WinApi решил написать класс обёртку вокруг...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru