Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
3 / 3 / 0
Регистрация: 28.10.2013
Сообщений: 36

Решение уравнений в матлаб

15.11.2015, 18:34. Показов 1462. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте Завая параметры u и g, через вычисление кучи формул получаю зависимости Zoe(u, при заданном g) и Zoо(u, при заданном g). Графически это должно выглядеть(и выглядит), как приведено на рисунке . Далее, задавшись конкретным значением Zoe и Zoo, необходимо провести параллельные прямые до пересечения с конкретной зависимостью и отпустить перпендикуляр на ось u. Таким образом я должна определить два нужных мне значения: u и g, при котором эти зависимости рассчитаны. Но сделать это графическим методом у меня не получается. Поэтому возник вопрос, как можно решить это другим способом в матлабе?
Миниатюры
Решение уравнений в матлаб   Решение уравнений в матлаб  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.11.2015, 18:34
Ответы с готовыми решениями:

простая система уравнений в матлаб
Доброго времени суток всем. Прошу помочь с решением простенькой задачки в матлабе: x принадлежит к отрезку включительно. Есть система...

Решение интеграла матлаб
Коллеги, добрый день! Помогите, пожалуйста, с задачей. Необходимо на матлабе реализовать программу, которая будет решать...

Решение задач по матлаб
Привет всем, ребята нужна помощь ваша, решил освоить матлаб, дали задания и сделать мне их нужно в срок Задание 1 Стр 7 МАТЕМАТИЧЕСКИЕ ...

7
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
15.11.2015, 19:29
Параллельные прямые - параллельные чему? Друг другу? Тогда каким образом они вообще должны проводиться (под каким углом к осям)?
0
3 / 3 / 0
Регистрация: 28.10.2013
Сообщений: 36
15.11.2015, 20:04  [ТС]
Проводиться должны, как показано на первом рисунке (серые линии), перпендикулярно вертикальной оси, параллельно друг другу. Одна линия должна пересечься с зависимостью, соответствующей Zoo, другая - Zoe. И от мест пересечния должен быть опущен перпендикуляр к оси x.
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
15.11.2015, 20:30
Горизонтальные прямые - это значения по вертикальной оси. Нужно взять заданное значение и посмотреть, какое значение по горизонтальной оси для Zoo и Zee ему соответствует.
0
3 / 3 / 0
Регистрация: 28.10.2013
Сообщений: 36
15.11.2015, 22:21  [ТС]
До этого я и сама смогла дойти вопрос заключается в том, как можно альтернативным методом решить такое в матлаб. Может быть можно при заданном значении Zoe и Zoo, например задаться переменной g, и ,перебирая переменные u c помощью какой-нибудь функции типа solve решить эту задачу, чтобы получить конкретное решение.
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
15.11.2015, 23:11
А вы графики как строили? Через plot или ezplot?
0
3 / 3 / 0
Регистрация: 28.10.2013
Сообщений: 36
15.11.2015, 23:42  [ТС]
Да, строила, вот второй рисунок - это как раз они. Суть в том, что мои значения Zoe и Zoo рассчитаны с точностью до седьмого знака, и мне хотелось бы получить более менее точные соответствующие значения u и g. А методом построения графиков, я не очень представляю как получить точные значения. Только если сильно уменьшать шаг и по u и по g, но не факт что я смогу уменьшить его до нужной степени.

Добавлено через 9 минут
ой! до меня только сейчас дошло, что я код не прикрепила
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
clear;clc;
er = 6.2;
uu = 0.01:0.01:2;
gg = 0.001:0.001:5;
 
for j = 1:5000 
for i = 1:200
    
u = uu(i);
g = gg(j);
%%% для расчета eree
v = (u*(20+g^2)/(10+g^2))+g*exp(-g);
ae = 1+(1/49)*log(((v^4)+(v/52)^2)/((v^4)+0.432))+(1/18.7)*log(1+((v/18.1)^3));
be = 0.564*((er-0.9)/(er+3))^0.053;
 
eree = ((er+1)/2)+((er-1)/2)*(1+(10/v))^(-ae*be);
%%%% для расчета ere0
a = 1+(1/49)*log(((u^4)+(u/52)^2)/((u^4)+0.432))+(1/18.7)*log(1+(u/18.1)^3);
b = 0.564*((er-0.9)/(er+3))^0.053;
ere = ((er+1)/2)+((er-1)/2)*((1+(10/u))^(-a*b));
a0 = 0.7287*(ere-0.5*(er+1))*(1-exp(-0.179*u));
b0 = (0.747*er)/(0.15+er);
c0 = b0-(b0-0.207)*exp(-0.414*u);
d0 = 0.593+0.694*exp(-0.526*u);
 
ere0 = ere+(0.5*(er+1)-ere+a0)*exp(-c0*(g^d0));
%%%% для расчета Zoe
Q1 = 0.8685*(u^0.194);
Q2 = 1+0.7519*g+0.189*(g^2.31);
Q3 = 0.1975+(16.6+((8.4/g)^6))^(-0.387)+(1/241)*log((g^10)/(1+(g/3.4)^10));
Q4 = (2*Q1/Q2)*(1/((u^Q3)*exp(-g)+(2-exp(-g))*u^(-Q3)));
F = 6+(2*pi-6)*exp(-(30.666/u)^0.7528);
Z0 = ((120*pi)/(2*pi*sqrt(ere)))*log((F/u)+sqrt(1+(2/u)^2));
 
Zoe(j,i) = (Z0*sqrt(ere/eree))/(1-Q4*(sqrt(ere))*Z0/377);
%%%% для расчета 
Q5 = 1.794+1.14*log(1+(0.638/(g+0.517*g^2.43)));
Q6 = 0.2305+(1/281.3)*log((g^10)/(1+(g/5.8)^10))+(1/5.1)*log(1+0.598*g^1.154);
Q7 = (10+190*g^2)/(1+82.3*g^3);
Q8 = exp(-6.5-0.95*log(g)-(g/0.15)^5);
Q9 = log(Q7)*(Q8+(1/16.5));
Q10 = Q4-(Q5/Q2)*exp((Q6*log(u))/u^Q9);
 
Zoo(j,i) = (Z0*sqrt(ere/ere0))/(1-Q10*(sqrt(ere))*Z0/377);
end
end
u=0;g=0;
for i=1:200
    y1(i)=78.4890;
 
    y2(i)=37.9473;
end
 
semilogx(uu,Zoe,'b')
hold on
semilogx(uu,Zoo,'r')
hold on
semilogx(uu,y1,'k')
hold on
semilogx(uu,y2,'k')
grid on
xlim([0.1 1.5]); ylim([0 200])
0
Модератор
 Аватар для Centurio
1765 / 1610 / 541
Регистрация: 13.09.2015
Сообщений: 5,629
16.11.2015, 09:48
То есть вы строили графики по наборам точек? Тогда нужно просто взять нужное значение из вектора функции и определить соответствующее ему значение аргумента.
Например, нужно найти из множества значений аргумента u для функции Zoo то, которое соответствует данному её значению y.
Matlab M
1
2
Y=abs(Zoo-y);
U=u(Y==min(Y));
Добавлено через 10 часов 0 минут
Вот код полностью:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
clear;clc;
er=6.2;
[g,u]=meshgrid([0.05 0.1 0.5 1 2 5],0.01:0.01:2);
 
%%% для расчета eree
v=(u.*(20+g.^2)./(10+g.^2))+g.*exp(-g);
ae=1+(1/49)*log(((v.^4)+(v/52).^2)./((v.^4)+0.432))+(1/18.7)*log(1+((v/18.1).^3));
be=0.564*((er-0.9)/(er+3))^0.053;
 
eree=((er+1)/2)+((er-1)/2)*(1+(10./v)).^(-ae.*be);
%%%% для расчета ere0
a=1+(1/49)*log(((u.^4)+(u/52).^2)./((u.^4)+0.432))+(1/18.7)*log(1+(u/18.1).^3);
b=0.564*((er-0.9)/(er+3))^0.053;
ere=((er+1)/2)+((er-1)/2)*((1+(10./u)).^(-a.*b));
a0=0.7287*(ere-0.5*(er+1)).*(1-exp(-0.179*u));
b0=(0.747*er)/(0.15+er);
c0=b0-(b0-0.207).*exp(-0.414*u);
d0=0.593+0.694*exp(-0.526*u);
 
ere0=ere+(0.5*(er+1)-ere+a0).*exp(-c0.*(g.^d0));
%%%% для расчета Zoe
Q1=0.8685*(u.^0.194);
Q2=1+0.7519*g+0.189*(g.^2.31);
Q3=0.1975+(16.6+((8.4./g).^6)).^(-0.387)+(1/241)*log((g.^10)./(1+(g/3.4).^10));
Q4=(2*Q1./Q2).*(1./((u.^Q3).*exp(-g)+(2-exp(-g)).*u.^(-Q3)));
F=6+(2*pi-6)*exp(-(30.666./u).^0.7528);
Z0=((120*pi)./(2*pi*sqrt(ere))).*log((F./u)+sqrt(1+(2./u).^2));
 
Zoe=(Z0.*sqrt(ere./eree))./(1-Q4.*(sqrt(ere)).*Z0/377);
%%%% для расчета 
Q5=1.794+1.14*log(1+(0.638./(g+0.517*g.^2.43)));
Q6=0.2305+(1/281.3)*log((g.^10)./(1+(g/5.8).^10))+(1/5.1)*log(1+0.598*g.^1.154);
Q7=(10+190*g.^2)./(1+82.3*g.^3);
Q8=exp(-6.5-0.95*log(g)-(g/0.15).^5);
Q9=log(Q7).*(Q8+(1/16.5));
Q10=Q4-(Q5./Q2).*exp((Q6.*log(u))./u.^Q9);
Zoo=(Z0.*sqrt(ere./ere0))./(1-Q10.*(sqrt(ere)).*Z0/377);
[m,n]=size(Zoo);
Z=cat(3,Zoo,Zoe);
y=[37.9473,78.4890];
Y=zeros(size(Z));
for k=1:2
    Y=abs(Z(:,:,k)-y(k));
    Ym=repmat(min(Y),m,1);
    uu(:,k)=u(Y==Ym);
    c='r';
    if k==2
        c='b';
    end
    semilogx(u,Z(:,:,k),c)
    hold on,grid on
    semilogx(u,repmat(y(k),m,1),'k')
end
xlim([0.1 1.5]); ylim([0 200])
В матрице uu находятся значения абсцисс пересечения прямых с графиками, в первом столбце - пересечение 37.9473 с Zoo, во втором столбце - пересечение 78.4890 с Zoe
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.11.2015, 09:48
Помогаю со студенческими работами здесь

Решение нестационарной системы уравнений с большим числом уравнений
Доброго дня! Мне необходимо численно решить нестационарное уравнение Шредингера, у которого гамильтониан зависит от времени. В рамках...

Решение системы уравнений (5 уравнений, 3 неизвестные)
мучаюсь и не могу решить систему: b0 = (A*( (A+1) + (A-1)*cos(w0) + 2*sqrt(A)*aalpha )) / (A+1) - (A-1)*cos(w0) +...

Решение системы уравнений в matlab. Не сходится решение
Здравствуйте! решаю такую сичтему уравнений (уравнения Кирхгофа применительно к задаче гидравлики для определения расходов). Решение...

Открыть txt-файл при его формировании в матлаб и сохранении вне матлаб
С помощью операторов fopen, fprintf и fclose в файл "Press.txt" записана текстовая информация : variables={'1.Первый', ' 2.Второй',...

Решение системы нелинейных уравнений (для двух уравнений)
Нужна написать программный модуль для решения систем неленейных уравнений методом ньютона и методом простых итераций. Вот уравнения: sinx +...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru