Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
117 / 83 / 39
Регистрация: 06.01.2013
Сообщений: 274
1

Свертка матриц - найти ошибку

11.10.2018, 14:17. Показов 618. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
https://www.cyberforum.ru/cgi-bin/latex.cgi?W_{el} = \sum^{M-1}_{k=0}\sum^{N-1}_{l=0} C(x,y,x'_{k},y'_{l}) p_{kl},
где
https://www.cyberforum.ru/cgi-bin/latex.cgi?C(x,y,x'_{k},y'_{l}) = \frac{(1-\nu^2)}{\pi E}\left[ (x+a)\left{\frac{y+b+\sqrt{(y+b)^2 + (x+a)^2}}{y-b+\sqrt{(y-b)^2 + (x+a)^2} \right} +(y+b)\left{\frac{x+a+\sqrt{(y+b)^2 + (x+a)^2}}{x-a+\sqrt{(y+b)^2 + (x-a)^2} \right} + ...<br />
... +(x-a)\left{\frac{y-b+\sqrt{(y-b)^2 + (x-a)^2}}{y+b+\sqrt{(y+b)^2 + (x-a)^2} \right} +(y-b)\left{\frac{x-a+\sqrt{(y-b)^2 + (x-a)^2}}{x+a+\sqrt{(y-b)^2 + (x+a)^2} \right} \right],
https://www.cyberforum.ru/cgi-bin/latex.cgi?a = \Delta x/2, \quad b = \Delta y/2, https://www.cyberforum.ru/cgi-bin/latex.cgi?x = \left| x-x' \right|, \quad y = \left|y-y' \right|

Код:
Кликните здесь для просмотра всего текста
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
63
64
65
66
67
clear; close all;clc
%% Input
% Material
E = 207*1e9; 
nu = 0.3;   
% Mesh
L = 4;
dx = L/100;
dy = L/100;
[x,y] = meshgrid(-L:dx:L,-L:dy:L);
 
% Uniform square pressure
xp = 0; 
yp = 0;
pa = L/2;
pb = L/2;
p = zeros(size(x));
p(x<=pa-xp & x>=-pb-xp & y<=pb-yp & y>=-pb-yp) = 1e9;
 
%% 
a = dx/2;
b = dy/2;
x = abs(x-xp);
y = abs(y-yp);
 
u0 = (1-nu^2)/(pi*E);
u11 = (y+b) + hypot((y+b),(x+a));
u12 = (y-b) + hypot((y-b),(x+a));
u1 = (x+a).*log(u11./u12);
 
u21 = (x+a) + hypot((y+b),(x+a));
u22 = (x-a) + hypot((y+b),(x-a));
u2 = (y+b).*log(u21./u22);
            
u31 = (y-b) + hypot((y-b),(x-a));
u32 = (y+b) + hypot((y+b),(x-a));
u3 = (x-a).*log(u31./u32);
 
u41 = (x-a) + hypot((y-b),(x-a));
u42 = (x+a) + hypot((y-b),(x+a));
u4 = (y-b).*log(u41./u42);
            
C = u0*(u1+u2+u3+u4);
 
%% Summation
disp('FFT')
tic
W_fft = fftshift((ifft2(fft2(C).*fft2(p))));
toc
disp('DS')
tic
W = C*p;
toc
disp('DC')
tic
W_conv = conv2(C,p,'same');
toc
 
%% Plot
[x,y] = meshgrid(-L:dx:L,-L:dy:L);
figure
plot(y(:,1),W_fft(x==0))
hold on
plot(y(:,1),W_conv(x==0))
plot(y(:,1),W(x==0))
grid on
legend('FFT','DC','DS')

Ожидаю получить результат качественно как во вложении(слева) тремя способами.Справа мой результат. Помогите, пожалуйста, найти ошибку

Пропустил натуральные логарифмы в формуле перед фигурными скобками
Миниатюры
Свертка матриц - найти ошибку   Свертка матриц - найти ошибку  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2018, 14:17
Ответы с готовыми решениями:

Двумерная свертка матриц(объяснить формулу)
У меня есть коротенький теоретический материал оценки размытости изображения, и вот мне не понятно...

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

Умножение матриц. Не могу найти ошибку
Здравствуйте, помогите пожалуйста, разобраться где ошибка. #include &lt;iostream.h&gt; #include...

Найти ошибку в процедуре LU-разложения матриц
Помогите пожалуйста найти ошибку в процедуре которая должна реализовывать метод LU-разложения...

0
11.10.2018, 14:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2018, 14:17
Помогаю со студенческими работами здесь

Процедура сложения матриц (найти ошибку)
procedure vvod(m,n,i,j:byte;var s:array of real ); begin writeln ('êîë-âî ðÿäêîâ :...

Умножение матриц: найти ошибку в вычислениях
Не понимаю в чем ошибка. учусь на указателях,поэтому обязательное выполнение задачи на них....

Сложение матриц - найти ошибку в коде
Помогите кто найти ошибки, и как вывести массивы ровно на экране Даны 2 вещетвенные матрицы...

Умножение матриц. Найти ошибку в коде
Помогите пожалуйста найти ошибку. При компиляции ошибок нет. Умножение квадратных матриц происходит...

Не могу найти ошибку при умножении 2х матриц
Доброго времени суток! Помогите найти ошибку в матрице, который час сижу и не могу найти. При...

Сложение матриц,не могу найти ошибку в коде!
#include &lt;iostream&gt; using namespace std; int main() { const int n = 3; int A; for (int i=0;...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru