Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Matlab Вентильно-индукторный двигатель 8/6 http://www.cyberforum.ru/matlab/thread1036539.html
Здравствуйте! Поделитесь, пожалуйста, моделью Simulink вентильно-индукторного двигателя ВИД конфигурации 8/6! Заранее спасибо)
График Matlab
Помогите пожалуйста ))как Отделить корни графически используя Матлаб. Уточнить корень методом хорд x3−3x2 +6x+3 = 0
Нумерация переменных в цикле Matlab
изначально спрашивается сколько всего k; вводится значение, например 5, тогда поочередно вводится 5 значений r(k), например 1 2 3 4 5 соответственно. 1) как сделать проверку, чтобы нельзя было в q...
Matlab Определение коэффициента передачи усилителя (критерий Найквиста) Здравствуйте! Дана схема системы и необходимо определить с помощью критерия Найквиста такие значения коэффициента передачи усилителя, при которых система будет находится на апериодической и... http://www.cyberforum.ru/matlab/thread1036247.html
Matlab запрос на чтение/запись файла из командной строки http://www.cyberforum.ru/matlab/thread1036238.html
как сделать так, чтобы в командном окне выводился запрос на введение названия файла или пути к файлу, который необходимо прочитать или записать в него? чтобы это мог быть файл с любым расширением...
Matlab Экспорт, импорт файлов. Поправить код
Всем здравстсвуйте. Я совершенный нуб в матлабе и программировании. В коде идет импорт и експорт файлов с расширением *.wk1. Видимо это для екселя в старом формате. А мне надо что бы файлы с данными...
два графика с разными величинами в одних осях Matlab
Нужно изобразить 2 графика F(x) и G(x) в одних осях, при этом функции имеют разные величины и масштабы (например, F(x) изменяется от -100 до 100, G(x) от 0 до 0,01). Также нужно добавить подписи F(x)...
Matlab Продифференцировать в Matlab угол gamma=arctan((a*cos(alpha)-c)/(a*sin(alpha)+b)) , нужно вычислить угловую скорость, а она равна ω=d(gamma)/dt. alpha=4*pi*t; c=20; b=20; a=10. Как найти угловое ускорение в Matlab,... http://www.cyberforum.ru/matlab/thread1036033.html
Matlab Удалить элементы, которые встречаются более одного раза http://www.cyberforum.ru/matlab/thread1036023.html
Вопрос состоит в следующем - мне нужно без цикла удалить абсолютно все повторяющиеся элементы. Функцией unique я воспользоваться не могу, так как она оставляет хотя бы один экземпляр повторяющегося...
Matlab нелинейная система уравнений Добрый день,нужно решить данную систему уравнений C1*C2*R1*R3*R4=23.265; C1*R1*(R3+R4)=5.105e5; C1*C2*R1*R3*R4=23.265; C1*R1*R4+C1*R3*R4=1.621e4; R4 = 4.7e3; Делаю вот так http://www.cyberforum.ru/matlab/thread1035833.html
Fr0ll
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 3
0

Дискретный метод Ньютона для поиска минимума(перевод программного кода из Java в MATLAB)

10.12.2013, 23:07. Просмотров 1291. Ответов 2
Метки (Все метки)

Всем привет. Попытался сделать при помощи двух M-file`ов с функциями и скрипта с циклами, но внятного результата не достиг. Если возможно- помогите =)

Java
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
package org.mtuci.mm.zero_max_min;
 
// ПРИМЕНЕНИЕ ДИСКРЕТНОГО МЕТОДА НЬЮТОНА ДЛЯ ПОИСКА МИНИМУМА
public class Bond 
{
  static final double e2 = 14.4;
  static final double v0 = 1090;
  static final double r0 = 0.33;
  
  public static void main(String argv[]) 
  {
    double del = 1e-12;
    double r   = 3;
    double dr  = 0.1;
    
    int n = 200;
    r = secant2(n, del, r, dr);
    
    System.out.println("The bond length is " + r + " angstroms");
    System.out.println("The value is: " + g(r));
  }
 
// Method to carry out the secant search for the
// minimum of g(x) via the root of f(x)=-dg(x)/dx=0.
  public static double secant2(int n, double del, double x, double dx) 
  {
    int     k = 0;
    double x1 = x+dx;
    double g0 = g(x);
    double g1 = g(x1);
    
    if (g1 > g0)
        x1 = x-dx;
    
    while ((Math.abs(dx) > del) && (k < n)) 
    {
      double d = f(x1) - f(x);
      dx = -(x1 - x) * f(x1) / d;
      x  = x1;
      x1 += dx;
      k++;
    }
    
    if (k == n)
        System.out.println("Convergence not found after " + n + " iterations");
    
    return x1;
  }
 
  // Method to provide function g(x)=-e2/x+v0*exp(-x/r0).
  public static double g(double x) 
  {
      return -e2 / x + v0 * Math.exp(-x / r0);
  }
 
  // Method to provide function f(x)=-dg(x)/dx.
  public static double f(double x) 
  {
    return -e2 / (x * x) + v0 * Math.exp(-x / r0) / r0;
  }
}


Вернуться к обсуждению:
Дискретный метод Ньютона для поиска минимума(перевод программного кода из Java в MATLAB)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 23:07
Готовые ответы и решения:

Перевод программного кода с C++ на Java
Нужно перевести данный код на Java #include &lt;iostream&gt; using namespace std; // Вывод системы...

Метод Ньютона для нахождения максимума/минимума.
Уважаемые форумчане помогите сделать задание в MathCAD. так как я вообще не знаю как в нем работать...

Модифицированный метод Ньютона для нахожения минимума функции
Реализован метод Ньютона для нахождения минимума функции. Для заданой функции метод работает, но...

Перевод кода бинарного поиска с С++ на Java
Добрый вечер! Переписываю код с С++ на Java. Не могу помять как как устроен бинарный поиск по...

Метод для поиска локального минимума в классе Array
Здравствуйте. Такая задача: Дан массив размера N. Найти номер его первого локального минимума...

2
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru