Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Session 4.1 Preclass"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "metadata": {},
- "outputs": [],
- "source": [
- "from scipy.optimize import minimize\n",
- "import numpy as np\n",
- "import matplotlib.pyplot as plt"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "metadata": {},
- "outputs": [],
- "source": [
- "# objective function\n",
- "# x = [mu, lambda, alpha, beta]\n",
- "mu_e = 2.3\n",
- "mu_var = 0.5\n",
- "sig_e = 2.75\n",
- "sig_var = 1\n",
- "def f(x):\n",
- " mu = (mu_e - x[0])**2\n",
- " sig = (sig_e - (x[3]/(x[2]-1)))**2\n",
- " mu_vr = (mu_var - (x[3]/((x[2]-1)*x[1])))**2\n",
- " sig_vr = (sig_var - (x[3]**2/((x[2]-1)**2*(x[2]-2))))**2\n",
- " return mu+sig+mu_vr+sig_vr\n",
- "\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Started at [1 1 3 3]\n",
- "Ended at [ 2.29999808 5.50002766 9.562539 23.5469938 ]\n",
- "f([ 2.29999808 5.50002766 9.562539 23.5469938 ]) = 0.000000\n"
- ]
- }
- ],
- "source": [
- "initial = np.array([1, 1,3,3])\n",
- "result = minimize(f, initial)\n",
- "final = result.x\n",
- "print('Started at', initial)\n",
- "print('Ended at', final)\n",
- "print('f(%s) = %.6f' % (final, f(final)))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[ 2.3 5.5 9.5625 23.546875]\n"
- ]
- }
- ],
- "source": [
- "# solution 2: solve for system of equation\n",
- "from scipy.optimize import fsolve\n",
- "import math\n",
- "\n",
- "def equations(x):\n",
- " mu = x[0] - mu_e\n",
- " sig = (x[3]/(x[2]-1)) -sig_e\n",
- " mu_vr = (x[3]/((x[2]-1)*x[1])) - mu_var\n",
- " sig_vr =(x[3]**2/((x[2]-1)**2*(x[2]-2))) - sig_var\n",
- " return (mu, sig, mu_vr, sig_vr)\n",
- "\n",
- "result = fsolve(equations, (1, 1,3,3))\n",
- "\n",
- "print(result)\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.6.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement